Traçage à la main — là où la logique grandit vraiment
Lire du code et comprendre du code ne sont pas la même chose. Le traçage à la main est la seule habitude qui fait grandir votre logique le plus vite — et ce n'est que stylo et papier.
L'idée, en une ligne
Soyez l'ordinateur. Sur papier, tenez un petit tableau de chaque variable et mettez-le à jour une ligne à la fois, exactement comme le code le ferait.
Ce que ça signifie
Le traçage à la main vous force à admettre ce que chaque ligne fait vraiment — pas de gestes vagues, pas de « ça marche probablement ». Si vous pouvez le tracer, vous le comprenez.
Comment faire
- Dessinez une colonne pour chaque variable.
- Parcourez le code de haut en bas ; quand une ligne change une valeur, barrez l'ancienne et écrivez la nouvelle.
- À une boucle, notez sur quel élément vous êtes. À un
if, notez True/False et quelle branche vous avez prise. - Quand vous atteignez
return, la valeur que vous avez notée est votre réponse prédite.
Voyez-le à l'œuvre
# Trace this BY HAND before trusting the answer below.
# Keep a table: total, then n each time through the loop.
def total_failures(codes):
total = 0
for n in codes:
if n >= 400:
total = total + 1
return total
total_failures([200, 404, 500, 200])
# Trace table:
# start total = 0
# n = 200 >=400? no total = 0
# n = 404 >=400? yes total = 1
# n = 500 >=400? yes total = 2
# n = 200 >=400? no total = 2
# return 2Lisez le tableau de haut en bas : total commence à 0 et ne monte que quand un code est à 400 ou plus. Deux codes qualifient, donc la réponse est 2 — et vous le saviez avant d'exécuter quoi que ce soit.
Avancé — un trace est un test que vous avez exécuté dans votre tête
Voici pourquoi ça paie autant. Un trace est en réalité un cas de test fait à la main. Si votre trace prédit 3 et que le programme affiche 4, vous avez trouvé la ligne exacte où votre idée du code et le vrai code divergent. Repérer cet écart est toute la compétence du débogage — donc chaque trace que vous faites est de la pratique de débogage déguisée.
La méthode maison — pratiquée quotidiennement sur des problèmes résolus
Toutes les leçons de Fondations Python & la méthode en 6 étapes
- Variables, types, structures de contrôle & fonctions
- Listes, dicts, ensembles & tuples — quand et pourquoi
- Motifs de manipulation de chaînes
- La méthode en 6 étapes — un exemple travaillé
- Traçage à la main — là où la logique grandit vraiment