Comprenez le rôle du code
Les langages de programmation constituent des compromis délicats : ils doivent être faciles à comprendre par les êtres humains et faciles à interpréter par les ordinateurs.
Et si vous êtes développeur Python, votre code a deux responsabilités :
expliquer à l’ordinateur quelles actions il doit accomplir ;
expliquer à d’autres développeurs quelles actions se déroulent.
Pourquoi est-ce que d’autres développeurs auraient besoin de savoir ce que fait mon code ? C’est l’ordinateur qui doit suivre le code, pas eux !
Détrompez-vous, le code est lu beaucoup plus souvent qu’il n’est écrit ! Une fois que vous avez écrit le code, d’autres développeurs auront fréquemment besoin d’utiliser vos classes et fonctions, de les étendre pour permettre d’autres fonctionnalités, et de réparer tous les bugs éventuels.
Imaginez un instant : vous parcourez un projet Python et vous rencontrez cette fonction :
def adjustment(value):
return (value % 4 == 0) and (value % 100 != 0 or value % 400 == 0)
Que fait-elle ? Est-ce qu’elle fonctionne bien ? Pouvons-nous l’utiliser à notre tour ?
Le développeur qui a écrit ce code a choisi des noms pour sa fonction et ses variables qui ne nous aident pas beaucoup. Peut-être que cette alternative aurait été plus claire :
def is_leap_year(year):
# Les années bissextiles sont toutes des multiples de 4
if year % 4 != 0:
return False
# Les années séculaires ne sont pas bissextiles, hormis 1600, 2000, 2400, etc.
if year % 100 == 0:
return year % 400 == 0
# Tous les autres résultats sont vrais.
return True
Découvrez le guide de style PEP 8
Heureusement, le code que vous lirez en Python aura majoritairement été écrit pour que des développeurs humains puissent facilement et rapidement le parcourir et savoir quoi en faire. 🎉
Ce type de code suit la PEP 8.
C'est quoi une PEP ?
PEP est l'abréviation de Python Enhancement Proposal (proposition d'amélioration de Python).
Les PEP sont des documents de conception pour la communauté Python. Elles décrivent des nouvelles fonctionnalités pour Python, ses processus ou son environnement. Par exemple, la PEP 257, que nous allons utiliser dans le prochain chapitre, est le document dédié aux conventions des chaînes de documentation.
La PEP qui sert de guide de style pour Python est la PEP 8. Elle s’agit d’une longue liste (de plus de 7 000 mots !) de pratiques suggérées pour les développeurs Python. Créée en 2001, elle a été écrite par Guido van Rossum, Barry Warsaw et Nick Coghlan, et elle est mise à jour régulièrement pour refléter les développements du langage.
7 000 mots, c’est trop ! Comment me souvenir de toutes ces règles ?
Pas de panique – vous n’aurez pas à retenir toutes les règles ! Certaines parties de la PEP 8 sont assez obscures, j’ai donc sélectionné les parties les plus importantes pour nous dans ce cours.
Dans cette partie du cours, nous nous familiariserons avec les règles les plus importantes du guide (et le raisonnement qui les sous-tend). Vous verrez même comment utiliser un outil pratique, le linter, pour vérifier dans quelle mesure votre code correspond à la PEP 8 !
En résumé
D’autres développeurs auront fréquemment besoin d’utiliser votre code, et donc de le comprendre.
Les conventions Python se trouvent sur le site de Python dans des documents qui s'appellent les PEP.
La PEP 8 contient de nombreuses recommandations pour aider les développeurs Python à écrire du code compréhensible par les autres.
Au chapitre suivant, nous allons commencer avec les conventions de nommage, des commentaires et des chaînes de documentation. Vous aurez également l'occasion d'appliquer votre nouvelle connaissance dans un exercice de code. Allons-y !