Adloun

Paraphrase, ou intention

Exercice · niveau 2 · informatique (MP2I/MPI), chapitre 4 — Discipline de programmation, validation et test

Énoncé

Classer ces six commentaires : lesquels paraphrasent le code, lesquels disent l'intention ? Réécrire les mauvais.


/* 1 */  n = n + 1;                    /* on ajoute 1 a n */
/* 2 */  n = n + 1;                    /* on compte la ligne qu'on vient de lire */
/* 3 */  if (d != 0) { q = n / d; }    /* si d est non nul, on divise */
/* 4 */  if (d != 0) { q = n / d; }    /* d nul signifie « pas de mesure » */
/* 5 */  i = g + (d - g) / 2;          /* et non (g + d) / 2 : celui-la deborde */
/* 6 */  for (int k = 0; k < n; k++)   /* boucle de 0 a n - 1 */

Corrigé

VerdictPourquoi
1paraphraseSupprimez la ligne de code : le commentaire ne dit plus rien.
2intentionIl nomme ce que compte. Aucune relecture du code ne le donne.
3paraphraseIl traduit `!=` en français.
4intentionIl donne la convention du domaine : pourquoi zéro est un cas spécial, ce que le code ne peut pas dire.
5intentionIl explique un choix et met en garde contre l'écriture qu'on aurait spontanément faite. C'est le meilleur des six.
6paraphraseEt pire : il est fragile. Que quelqu'un écrive `k <= n` et le commentaire devient un mensonge.

Le test à appliquer, celui du programme officiel : supprimer mentalement la ligne de code. Si le commentaire ne porte plus aucune information, il n'en portait pas.

Réécritures.


/* 1 */ n = n + 1;                    /* une entree valide de plus */
/* 3 */ if (d != 0) { q = n / d; }    /* d == 0 : la mesure est manquante,
                                         on laisse q inchange */
/* 6 */ for (int k = 0; k < n; k++)   /* on essaie chaque candidat */
AttentionLe pire commentaire est le commentaire faux

Un commentaire qui paraphrase est inutile ; un commentaire périmé est nuisible, parce qu'on le croit. C'est l'argument décisif contre la paraphrase : elle multiplie les endroits qu'une modification doit mettre à jour, sans rien apporter en échange. Les commentaires d'intention, eux, survivent aux réécritures — l'intention change rarement.

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.