Adloun

Découper ce sujet en trois ou quatre modules, et donner pour chacun…

Exercice de TD · niveau 2 · NSI (première), chapitre 11 — Conduire un projet · Du sujet au découpage

Énoncé

Découper ce sujet en trois ou quatre modules, et donner pour chacun les prototypes de ses fonctions. Vérifier que chaque module peut être testé sans les autres.

Corrigé

ModulePrototypesTestable seul ?
`grille``creer(n, p) -> grille`oui
`lire(g, i, j) -> valeur`
`ecrire(g, i, j, v) -> None`
`regles``coup_legal(g, i, j) -> bool`oui
`appliquer(g, i, j, joueur) -> None`
`gagnant(g) -> "X", "O" ou None`
`pleine(g) -> bool`
`affichage``afficher(g) -> None`oui
`demander_coup() -> (i, j)`
`partie``jouer() -> None`en dernier

Pourquoi chacun se teste seul.

Ce que ce découpage rend possible. Trois personnes peuvent commencer le même jour. Celle qui écrit gagnant n'a pas besoin que l'affichage existe ; celle qui écrit l'affichage n'a pas besoin des règles. Chacune sait ce que les autres lui promettent : une grille est une liste de listes, lire rend une valeur, gagnant rend une chaîne ou None.

Le découpage qu'il faut éviter, et qui vient naturellement : « toi le début de la partie, toi le milieu, toi la fin ». Aucun des trois morceaux ne se teste seul, et les trois doivent être finis pour que quoi que ce soit tourne. Un bon découpage se reconnaît à ceci : chaque module a un sens hors du projet.

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.