Outils pour utilisateurs

Outils du site


dev:python:bonnes-pratiques

Ceci est une ancienne révision du document !


Bonnes pratiques

Duck typing

La l'oie du canard: If it looks like a duck and quacks like a duck, it must be a duck.

Dans la majorité des cas il importe peu que l'objet soit une instance d'un type particulier, on cherche à savoir s'il a le bon comportement. On privilégiera donc l'emploie de hasattr() au lieu de isinstance().

Mise en forme

Limiter la longueur des lignes à 80 caractères. En python tout ce qui est entre parenthèses, crochets ou accolades supporte le retour à la ligne sans créer de problème dans la syntaxe python. L'indentation est primordiale car elle participe à la syntaxe: elle délimite les blocs d'instructions. Par convention chaque niveau d'indentation est de 4 caractères espace.

Cet usage syntaxique de l' indentation peut paraître déconcertant pour ceux connaissent d'autres langages puisqu'en général les syntaxes des langages sont conçues de manière à être insensibles aux espaces et à la présentation.

Conventions d'usage

Non obligatoires mais fortement recommandées pour s'assurer de la lisibilité et de l’homogénéité du code produit respectant les bonnes pratiques mises en avant dans les modules standards.

# aérer affectations et opérations
x = y + z
 
#définition de fonction
def ma_fonction(x, y, z):
 
# appel de fonction avec de nombreux arguments
x = ma_fonction_avec_un_nom_log(
        arg1, arg2,
        arg3, arg4,
    )

Quand c'est nécessaire, le backslash permet d'échapper le caractère de retour à la ligne et de répartir l'instruction sur plusieurs lignes. Lorsqu' une instruction est répartie sur plusieurs lignes, c'est naturellement l'indentation de la première ligne qui est significative pour savoir à quel bloc rattacher cette instruction.

L'outil pep8 permet de vérifier si le code produit est conforme à la PEP0008.

Documentation

Python à un mécanisme interne permettant d'intégrer la documentation au code. Utiliser les doc-strings (triples apostrophes) pour produire la documentation directement dans le code et la rendre disponible dans l'interpréteur.

getters/setters

Intégrer les getters/setters avec la méthode property afin de faciliter l'utilisation

Références

dev/python/bonnes-pratiques.1605735352.txt.gz · Dernière modification : 2021/02/01 21:51 (modification externe)