La remise offerte à tout le monde
Un magasin de bricolage de Lille lance une promotion : 10 % de remise dès 100 € d'achat. Un développeur demande la fonction à un assistant et la met en ligne le soir même.
Le lendemain, un client paie 18 € au lieu de 20 € pour un paquet de vis. Le code tournait sans erreur. Personne ne l'avait relu contre la règle.
À la fin de cette leçon
Remarque
Je peux vérifier le code d'une IA avant de lui faire confiance.
Mots clés
| Mot | Ce que ça veut dire | Exemple |
|---|---|---|
| Relecture de code | lire un code pour trouver ses défauts | |
| Règle métier | ce que l'entreprise veut que le code fasse | |
| Cas limite | une valeur rare ou extrême | [] |
| Valeur en dur | un nombre écrit directement dans le code | |
| Paquet | du code extérieur que l'on installe |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
On relit le code contre la règle
Avant de relire, écrivez la règle métier en une phrase. Ensuite, lisez le code ligne par ligne et cherchez où chaque morceau de la règle est appliqué.
Si une partie de la règle n'apparaît nulle part, le code ne la respecte pas. Un code qui tourne sans erreur prouve seulement qu'il tourne. Il ne prouve pas qu'il fait ce que l'entreprise demande.
À vous : relire la remise
# Règle du magasin : 10 % de remise
# à partir de 100 euros d'achat.
# L'assistant a écrit cette fonction :
def prix_final(total):
remise = total * 0.10
return total - remise
print(prix_final(150)) # 135.0 attendu
print(prix_final(40)) # 40 attendu
# Lisez la fonction ligne par ligne. Quelle partie
# de la règle manque ? Corrigez, puis relancez.
Une erreur fréquente
Attention
Beaucoup pensent qu'un code qui tourne est un code juste. Il peut tourner et donner un mauvais prix. Comparez toujours le résultat à la règle métier, sur au moins un exemple calculé à la main.
Quatre signaux d'alerte à chercher
Certains défauts reviennent souvent dans le code d'un assistant. Un cas limite oublié : une liste vide, un zéro, un texte vide. Une valeur en dur : un taux ou une date écrits dans le code.
Un paquet au nom inconnu, peut-être inventé. Une action non demandée : un fichier supprimé, un courriel envoyé. Repérez chacun avant d'accepter le code.
Exemple : une grille de relecture
| Signal | Exemple dans le code | Question à se poser |
|---|---|---|
| Cas limite oublié | sum(montants) / len(montants) | Et si la liste est vide ? |
| Valeur en dur | taux = 0.196 | Est-ce le bon taux aujourd'hui ? |
| Paquet inconnu | import facturex_pro | Ce paquet existe-t-il vraiment ? |
| Action non demandée | os.remove(fichier) | Ai-je demandé une suppression ? |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.