Prototyper une fonction

Comment bien concevoir une fonction sans attendre les tests ?

Pour rappel, la méthode proposée par John Zelle que l’on a suivi:

  1. Analysez le problème.

  2. Spécifiez le programme.

  3. Concevez le programme. Formulez la structure globale du programme. C’est à ce moment que vous traiterez de la façon dont le programme résoudra le problème. Le travail principal est de concevoir le ou les algorithmes qui rempliront les tâches préalablement spécifiées.

  4. Codez. Traduisez les algorithmes conçus dans un langage de programmation et entrez les sur un ordinateur. Nous programmerons nos algorithmes en Python.

  5. Testez/Débuggez le programme.

  6. Faites de la maintenance.

Exercice: contrat rempli ?

Écrire une fonction qui renvoie le triple d’un entier naturel donné en paramètre.

Une première proposition

Un premier test ?

Un second test ?

Solution ?

On peut faire appel à assert lors de la conception des fonctions pour fournir une garantie au concepteur, mais pas pour l’utilisateur final. Si plusieurs algorithmes sont présents dans un programme, une erreur d’assertion interrompt tout le programme. Il serait mal venu qu’un programme se comporte ainsi auprès de l’utilisateur final.

Les méthodes pour se prémunir des erreurs de l’utilisateur final sera abordé ultérieurement.

a) Être le plus complet possible dans la docstring d’une fonction.
b) assert est une aide pour le programmeur pour garantir une bonne utilisation de la fonction dans la suite du programme.


Notes de bas de page:

1. Comme en maths, il faudrait pouvoir démontrer son bon fonctionnement dans tous les cas possibles. On verra comment faire plus tard dans l’année.