Table of Contents

INFO-H-100 : Règles de bonne pratique

Ces règles ont été déterminées dans un but pédagogique et/ou de bonne partique générale en programmation.

Structure

  • Utiliser une découpe intelligente en fonctions. Chaque fonction doit réaliser une tâche clairement identifiée.
  • Ne pas faire de fonctions de plus de 15 lignes sauf dans des cas exceptionnels à justifier.
  • Eviter la redondance dans votre code (copier coller). Si cela arrive, c'est probablement qu'il manque soit une fonction, soit une boucle, soit que des tests conditionnels peuvent être regroupés.
  • Ne pas utiliser de variable globale sauf dans le cas où vous voulez utiliser cette variable comme une constante (EPS, BORNE, …)
  • Veiller à ce que tous les paramètres et variables d'une fonction soient utilisés dans cette fonction.

Style

  • Utiliser la forme raccourcie
    if isLeapYear(2008)

    plutôt que la forme équivalente

    if isLeapYear(2008)==True
  • Utiliser la forme
    return <expression booléenne>

    plutôt que la forme équivalente

    if <expression booléenne>:
      res = True
    else:
      res = False
    return res

Gestion des erreurs

  • Gérer les erreurs au niveau du programme : toutes les entrées des utilisateurs doivent être vérifiées et traitées le cas échéant.
  • Au niveau des fonctions : soit gérer les erreurs, soit documenter le domaine des paramètres. Dans ce dernier cas, si une valeur donnée par paramètre n'est pas dans le domaine, le comportement de la fonction est indéterminé. Exemple :
    def daysInMonth(month, year):
       """Cette fonction attend un month entre 1 et 12. 
          Le résultat pour les nombres inférieurs à 1 et 
          supérieurs à 12 n'a pas de sens"""
       nbDays = 31
       if month in [4, 6, 9, 11]:
          nbDays = 30
       elif month==2:
          if isLeapYear(year):
             nbDays = 29
          else:
             nbDays = 28
       return nbDays
 
teaching/infoh100/bonne_pratique_python.txt · Last modified: 2011/11/10 14:08 by boverhae