Identifying and Correcting Errors · Identification et correction des erreurs
| English | Français |
|---|---|
| bug/bʌɡ/ | bug |
| debugging/ˈdiːbʌɡɪŋ/ | débogage |
| syntax error/ˈsɪntæks ˈerə/ | erreur de syntaxe |
| logic error/ˈlɒdʒɪk ˈerə/ | erreur logique |
| runtime error/ˈrʌntaɪm ˈerə/ | erreur d'exécution |
| overflow error/ˌəʊvəˈfləʊ ˈerə/ | erreur de débordement |
| edge case/edʒ keɪs/ | cas limite |
| expected output/ekˈspektɪd ˈaʊtpʊt/ | sortie attendue |
Every program has bugs
- No matter how careful the team is, programs contain mistakes.
- A mistake in a program is a bug 缺陷.
- Finding and fixing bugs is called debugging 调试.
- Skilled debugging is one of the most valuable abilities a programmer can build.
Tout programme contient des bugs
- Peu importe la rigueur de l'équipe, les programmes contiennent des erreurs.
- Une erreur dans un programme est un bug 缺陷.
- Trouver et corriger les bugs s'appelle le debugging 调试.
- Un bon debugging est l'une des compétences les plus précieuses qu'un programmeur peut acquérir.
Which kind of error? · Quel type d'erreur ?
A syntax error stops the program running; a logic error runs but gives the wrong answer; a runtime error crashes it partway; an overflow error exceeds storage. · Une erreur de syntaxe empêche l'exécution ; une erreur logique s'exécute mais donne un mauvais résultat ; une erreur d'exécution le plante partiellement ; une erreur de dépassement dépasse la capacité de stockage.
The work of finding and fixing mistakes in a program is called ______. · Le travail consistant à trouver et corriger les erreurs dans un programme s'appelle ______.
A mistake is a bug; fixing bugs is debugging. · Une erreur est un bug ; corriger les bugs s'appelle déboguer.
A missing bracket that stops the program from running is a: · Une accolade manquante qui empêche le programme de s'exécuter est un :
Breaking the language's rules is a syntax error. · Enfreindre les règles du langage constitue une erreur de syntaxe.
Why are logic errors often the hardest to find? · Pourquoi les erreurs logiques sont-elles souvent les plus difficiles à détecter ?
Nothing obviously breaks, so you must compare output to what you expected. · rien ne cassé visiblement, il faut donc comparer la sortie à ce qui était attendu.
The main kinds of error
- A syntax error 语法错误 breaks the language's rules (a missing bracket) — the program refuses to run.
- A logic error 逻辑错误 runs but gives the wrong result, because the instructions do not match the plan.
- A runtime error 运行时错误 crashes the program while it runs — like dividing by zero.
- An overflow error 溢出错误 happens when a value grows too large for its storage space.
Les principaux types d'erreur
- Une erreur de syntaxe 语法 error brise les règles du langage (crochet manquant) — le programme refuse de tourner.
- Une erreur de logique 逻辑错误 tourne mais produit le résultat faux, car les instructions ne correspondent pas au plan.
- Une erreur d'exécution 运行时 error plante le programme pendant son exécution — comme une division par zéro.
- Une erreur de débordement 溢出 error survient quand une valeur devient trop grande pour son espace de stockage.
Testing with edge cases (empty input, very large numbers) helps find hidden bugs. · Tester avec des cas limites (entrée vide, très grands nombres) aide à trouver des bugs cachés.
Bugs often hide at the limits of what a program expects. · Les bugs se cachent souvent aux limites de ce qu'un programme attend.
To spot a bug in a test, you compare the actual output with the: · Pour repérer un bug lors d'un test, vous comparez la sortie réelle avec la :
A difference between actual and expected output points to a bug. · Une différence entre la sortie réelle et la sortie attendue indique un bug.
How to find them
- Test with many inputs, including unusual ones — a very large number, empty input, or an edge case 边界情况 at the limit.
- Compare the actual output with the expected output 预期输出; a difference points to a bug.
- Add temporary print statements to see internal values, so you find where it first goes wrong.
- Divide and check: confirm one part is correct, then narrow down the rest.
Comment les trouver
- Testez avec de nombreuses entrées, y compris des inhabituelles — très grand nombre, entrée vide, ou un cas limite 边界情况 à la frontière.
- Comparez la sortie réelle avec la sortie attendue 预期 output ; une différence pointe vers un bug.
- Ajoutez des instructions d'impression temporaires pour voir les valeurs internes, afin de trouver où ça commence à mal tourner.
- Divisez et vérifiez : confirmez qu'une partie est correcte, puis restreignez le reste.
You should re-test the whole program after fixing a bug, since a fix can create a new bug. · Vous devez re-tester l'intégralité du programme après avoir corrigé un bug, car une correction peut créer un nouveau bug.
Careful re-testing is what makes software trustworthy. · Un re-test méticuleux rend le logiciel digne de confiance.
Fix, then re-test
- Logic errors are the hardest — nothing obviously "breaks," the answer is just wrong.
- Fixing one bug can create another.
- So after every correction, re-test the whole program.
- Careful, repeated testing turns a rough prototype into software people can trust.
"It ran" is not "it's correct." A logic error runs with no crash and no message — the program looks fine but the answer is wrong. The only way to catch it is to compare the output with what you expected, not just check that it ran.
Corriger, puis re-tester
- Les erreurs logiques sont les plus difficiles — rien ne « casse » visiblement, la réponse est juste fausse.
- Corriger un bug peut en créer un autre.
- Donc après chaque correction, re-testez tout le programme.
- Des tests soignés et répétés transforment un prototype approximatif en logiciel en lequel on peut avoir confiance.
"It ran" n'est pas « c'est correct ». Une erreur logique s'exécute sans plantage ni message — le programme semble fonctionner, mais la réponse est fausse. La seule façon de la détecter est de comparer la sortie avec ce que vous attendiez, et non seulement de vérifier qu'il a fonctionné.
A bug is a mistake; fixing bugs is debugging. A syntax error stops the program running, a logic error runs but gives the wrong answer, a runtime error crashes it partway, and an overflow error exceeds storage. Find bugs by testing many inputs (especially edge cases) against the expected output, and always re-test after a fix.
Un bug (défaut) est une erreur ; corriger les bugs s'appelle le debugging. Une erreur de syntaxe empêche l'exécution du programme, une erreur logique s'exécute mais donne une mauvaise réponse, une erreur d'exécution le plante en cours de route, et une erreur de dépassement excède la capacité de stockage. Trouvez les bugs en testant de nombreuses entrées (surtout les cas limites) par rapport à la sortie attendue, et toujours re-tester après une correction.