Fondations Python & la méthode en 6 étapes · Leçon 5 sur 5

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.

Par Shahriyar · Mis à jour

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

  1. Dessinez une colonne pour chaque variable.
  2. Parcourez le code de haut en bas ; quand une ligne change une valeur, barrez l'ancienne et écrivez la nouvelle.
  3. À une boucle, notez sur quel élément vous êtes. À un if, notez True/False et quelle branche vous avez prise.
  4. Quand vous atteignez return, la valeur que vous avez notée est votre réponse prédite.

Voyez-le à l'œuvre

▸ trace_me.py
# 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 2

Lisez 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

  1. Variables, types, structures de contrôle & fonctions
  2. Listes, dicts, ensembles & tuples — quand et pourquoi
  3. Motifs de manipulation de chaînes
  4. La méthode en 6 étapes — un exemple travaillé
  5. Traçage à la main — là où la logique grandit vraiment