CodeS-SourceS
Rechercher un code, un tuto, une réponse

Bien présenter un code en python

Avril 2017

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

A voir également

Publié par cs_Julien39.
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.
Traitement séquentiel des fichiers
Convertir un code Python en C++ puis le compiler