Bien présenter un code en python

Nous allons dans ce tutorial apprendre à présenter un code de la façon la plus propre, je ne prétends pas tout savoir de la présentation des codes, toute suggestion sera la bienvenue. Ce tutorial est relativement court, mais, il sera peut être enrichi par la suite

Nous allons partir d’une fonction booléenne Python qui permet de savoir si un nombre est premier ou non.

Au départ cette fonction n’est pas bien présentée, la voici

def premier(a):

    r=int(a**(0.5))+1

    s=True

    i=1

    if a==1:

        s=False

    elif a%2==0 and a<>2:

        s=False

    while 2*i+1 <r+1 and s==True :

        if a%(2*i+1)==0:

            s=False

    return(s)

  • Des notation explicites

La première chose à faire est de rendre le code plus lisible en donnant un nom explicite à chaque variable, par exemple, j’appelle compteur la variable I, j’appelle estPremier la variable s.

Pour nommer les variables, les constantes sont écrites en majuscule, les mots sont séparés par des _ par exemple RACINE_DE_DEUX, les variables sont écrites en minuscules, les mots sont séparés par des majuscules estPremier Ce qui donnera

def premier(nombreEntre):

    critereArret=int(nombreEntre**(0.5))+1

    estPremier=True

    compteur=1

    if nombreEntre==1:

        estPremier=False

    elif nombreEntre%2==0 and nombreEntre<>2:

        estPremier=False

    while 2*compteur+1 <=critereArret and estPremier==True :

        if nombreEntre%(2*compteur+1)==0:

            estPremier=False

    return(estPremier)

Cette étape est très importante, elle rend le code plus lisible

  • Les commentaires

Les commentaires servent eux aussi à rendre le code plus lisible, pour vous, votre code semble simple et vous pouvez vous dire qu’il se passe de commentaire, ce qui est toujours faux. Si vous reprenez votre code plus tard, vous ne comprendrez pas forcément ce que vous avez fait et les autres auront du mal à le comprendre, même si le code est facile.

Tout d’abord, avant chaque fonction, il faut écrire ce qu’elle fait, en une phrase, pour chaque paramètre entré et sortie, il faut le nommer, dire si c’est une entrée ou une sortie et quel est son rôle.

Puis dans le code, il faut expliquer chaque grande étape, il est important de commenter la ligne de code i a la ligne i-1, comme ca, quand quelqu’un lira le code il lira ce que le programme va faire puis, li verra le code qui lui semblera plus clair.

# Cette fonction booléenne retourne vrai si le nombre entré est premier

# Le paramètre nombreEntre est l’entier choisi par l’utilisateur, on va tester sa primalité

# La sortie estPremier est un booléen qui prend la valeur vrai si nombreEntre est premier
def premier(nombreEntre):

    # Si un nombre est premier il possédera un diviseur plus petit que sa racine

    critereArret=int(nombreEntre**(0.5))+1

    # On initialise estPremier à Vrai

    estPremier=True

    compteur=1

    if nombreEntre==1:

        # 1 n’est pas un nombre premier

        estPremier=False

    elif nombreEntre%2==0 and nombreEntre<>2:
        # Si nombreEntre n’est pas pair alors il n’est pas multiple d’un nombre pair

        estPremier=False

    # On ne va tester la primalité qu’avec les nombres impairs : 2*compteur+1

    while 2*compteur+1 <=critereArret and estPremier==True :

        # Si on trouve un diviseur de nombreEntre, nombreEntre n’est pas premier

        if nombreEntre%(2*compteur+1)==0:

            estPremier=False

    return(estPremier)

Voilà, on a obtenu un code clair et compréhensible par tous. Nous pourrons noter que chaque commentaire ne dépasse pas une ligne, ce qui est important, le but n’est pas de surcharger le code. Si une explication est trop longue pour tenir sur une ligne, on peut l’écrire tout en bas de la page de code si elle n’est pas directement liée au codage. Par exemple, je pourrais expliquer pourquoi un nombre composé admet au moins un diviseur plus petit que sa racine en bas de la page de code, et préciser dans mes commentaires : voire bas de la page.

Voila, en espérant que ces conseils vous seront utiles, n’hésitez pas a me faire des remarques.

Adresse d'origine

Ce document intitulé « Bien présenter un code en python » issu de CodeS SourceS (codes-sources.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Rejoignez-nous