Bonnes pratiques de programmation
Voici quelques conseils pratiques pour rendre vos programmes plus lisibles, à la fois pour toute personne amenée à
l’utiliser (collègue, ou dans l’immédiat, professeur), et à la fois pour vous-même : un programme clair sera plus simple
à corriger ou améliorer, et à reprendre lors du TP suivant.
En pratique, les programmes peu clairs seront pénalisés dans les devoirs, et le professeur ne passera corriger lors
des TP que les programmes un minimum expliqués.
1 Exemple
Voici un programme python. Que calcule-t-il ?
def f(a,b):
x=0
y=a
while y>=b:
x+=1
y-=a
return(x,y)
Et maintenant celui-ci :
def f(a,b):
quotient=0
reste=a
while reste >=b: # Tant qu’on peut retirer b dans le reste, on le fait
reste-=a
quotient+=1 # Et on augmente le quotient de 1
#On sort de la boucle lorsque le reste est <b : c’est alors le bon reste
# de la division euclidienne.
return(quotient, reste)
En python, tout texte écrit après un # n’est pas lu par l’ordinateur. Il s’agit d’un "commentaire", il est destiné à
expliqué le programme aux être humains amenés à le lire.
On peut encore améliorer trois choses : le nom de la fonction elle-même, rajouter une aide, et signaler le fait que
cet algorithme ne fonctionne que si a≥0 et b>0 ! Pour ce dernier point, nous allons d’une part l’écrire dans l’aide,
et d’autre part vérifier que a≥0 et b>0, renvoyer une erreur sinon.
L’aide s’indique au début de la fonction encadrée par trois paires de guillemets. Pour la vérification, utiliser :
assert condition à vérifier , message d’erreur si la condition n’est pas vérifiée.
def divisionEuclidienne(a,b):
"""a et b sont entier positifs, b doit être non nul. Le programme renvoie le quotient et le reste
de la division euclidienne de a par b, sous la forme (quotient, reste)"""
1