Bonnes pratiques
Voir les éléments à connaître en C, Ocaml, Python et JavaScript.
| Notions | Commentaires |
|---|---|
| Spécification des données attendues en entrée, et fournies en sortie/retour. | On entraîne les étudiants à accompagner leurs programmes et leurs fonctions d’une spécification. Les signatures des fonctions sont toujours précisées. |
| Annotation d’un bloc d’instructions par une précondition, une postcondition, une propriété invariante. | Ces annotations se font à l’aide de commentaires. |
| Programmation défensive. Assertion. Sortie du programme ou exception levée en cas d’évaluation négative d’une assertion. |
L’utilisation d’assertions est encouragée par exemple pour valider des entrées ou pour le contrôle de débordements. Plus généralement,les étudiants sont sensibilisés à réfléchir aux causes possibles (internes ou externes à leur programme) d’opérer sur des données invalides et à adopter un style de programmation défensif. Les étudiants sont sensibilisés à la différence de garanties apportées selon les langages, avec l’exemple d’un typage faible en C et fort en OCaml. On veille à ne pas laisser penser que les exceptions servent uniquement à gérer des erreurs. |
| Explicitation et justification des choix de conception ou programmation. | Les parties complexes de codes ou d’algorithmes font l’objet de commentaires qui l’éclairent en évitant la paraphrase. |