Bonnes pratiques de programmation
Temps de lecture10 minEn bref
Résumé de l’article
Cet article est un rappel : un programme qui fonctionne ne suffit pas, et écrire du bon code obéit à des règles. La vidéo ci-dessous, issue du même MOOC que les articles des séances suivantes, passe en revue les principales, qu’un code soit lisible, maintenable et fiable. Ce sont aussi les critères sur lesquels vos livrables seront évalués tout au long du projet.
Points clés à retenir
-
Un code se lit bien plus souvent qu’il ne s’écrit : indentation régulière, et noms explicites pour les fichiers, les variables et les fonctions.
-
Les valeurs écrites en dur sont à éviter : une constante nommée se comprend à la lecture, et se modifie à un seul endroit.
-
Un code se reprend, par vos coéquipiers comme par vous-même des mois plus tard : commentez ce qui n’est pas évident, et documentez vos fonctions.
-
Un code se structure en fonctions courtes et indépendantes, que l’on peut réutiliser et tester une par une.
-
Chaque langage a ses propres conventions, décrites par une norme : en Python, c’est la PEP 8.
Contenu de l’article
Vidéo
Veuillez consulter la vidéo ci-dessous (en anglais, affichez les sous-titres si besoin). Nous fournissons également une traduction du contenu de la vidéo juste après, si vous préférez.
Information
Pour aller plus loin
La PEP 8, la norme de style de Python
Les règles de la vidéo sont volontairement indépendantes du langage. En Python, elles sont précisées par une norme, la PEP 8 (Python Enhancement Proposal), écrite par les concepteur(rice)s du langage. Elle tranche ce que la vidéo laisse ouvert :
- 4 espaces par niveau d’indentation, jamais de tabulation ;
snake_casepour les variables, les fonctions et les modules,CamelCasepour les classes,MAJUSCULES_AVEC_UNDERSCORESpour les constantes ;- des lignes courtes, une ligne vide entre les fonctions, deux entre les classes ;
- des espaces autour des opérateurs, mais pas à l’intérieur des parenthèses ;
- les imports en tête de fichier, un par ligne.
Sa cousine la PEP 257 fait de même pour les docstrings, c’est-à-dire pour la documentation que vous écrivez à l’intérieur de vos fonctions et de vos classes.
Information
La PEP 8 n’est pas un règlement, et elle le dit elle-même : “a foolish consistency is the hobgoblin of little minds”. S’en écarter est légitime quand la suivre rendrait le code moins lisible.
En revanche, dans un travail à trois, c’est elle qui évite de trouver trois styles différents dans le même dépôt. Fixez-la comme convention commune dès la première séance, plutôt que d’uniformiser le code la veille du livrable.
Faire vérifier son code automatiquement dans VSCode
Ces règles n’ont pas à être vérifiées à la main. Deux familles d’outils s’en chargent :
-
Les formateurs réécrivent le code pour le rendre conforme : indentation, espaces, retours à la ligne, guillemets. Ils ne changent pas ce que le programme fait.
-
Les linters, ou vérificateurs statiques, lisent le code sans l’exécuter et signalent ce qui s’écarte de la norme ou ce qui ressemble à une erreur : variable déclarée puis jamais utilisée, import inutile, docstring manquante, nom non conforme…
Dans VSCode, ces outils s’installent comme des extensions, et leurs remarques apparaissent soulignées dans l’éditeur et listées dans l’onglet Problems :
| Extension | Ce qu’elle apporte |
|---|---|
| Ruff | Un formateur et un linter à la fois, très rapide. Le plus simple pour commencer. |
| Pylint | Un linter plus bavard, qui note votre code sur 10 selon les écarts à la PEP 8. |
| Mypy Type Checker | Vérifie que les types annoncés dans vos fonctions sont cohérents avec leur usage. |
Pensez également au réglage Editor: Format On Save, vu en environnement : le formatage devient automatique à chaque sauvegarde, et cesse d’être un sujet de discussion dans le groupe.
Enfin, vous pouvez lancer ces outils sans rien installer, depuis votre pyrat_workspace :
Important
Ces outils ne jugent que la forme. Un fichier noté 10/10 par un linter peut rester incompréhensible : aucun d’eux ne vous dira que a est un mauvais nom pour une table de routage, qu’un commentaire ne correspond plus au code qu’il décrit, ou qu’une fonction de 200 lignes mériterait d’être découpée.
Ils sont là pour retirer le bruit, afin que votre relecture (et la nôtre) porte sur le fond.
Pour aller encore plus loin
-
Dans cet article, nous discutons de quelques bonnes pratiques de programmation que vous devriez garder à l'esprit lorsque vous écrivez un programme.
-
Python est devenu l'un des langages de programmation les plus populaires, notamment grâce à sa flexibilité et la simplicité de sa syntaxe.










