http://toptech.geekaddict.net/
Code et commentaires Lorsque j'ai commencé à coder, je me demandais souvent quelle quantité de commentaires je devais mettre dans mes programmes. A force d'entendre répéter qu'il fallait commenter un maximum, ceci explique sans doute cela. Je me retrouvais donc avec du code comme ci-dessous :
/**
* Description de la méthode.
*/
public void maMethode(int param) {
// Vérifie que le paramètre est ok (c'est-à-dire param vaut 1)
if (param == 1) {
// le paramètre est ok donc on fait le traitement qui fait ceci
...
} else {
// le paramètre n'est pas ok donc on fait le traitement qui fait cela
...
}
...
}
Sur certains projets, il m'est arrivé de rencontrer des méthodes de plusieurs centaines de lignes et, sous prétexte qu'il y avait des commentaires toutes les 5 lignes, on supposait que cela rendait le code plus compréhensible et plus facile à maintenir, ce qui n'était pas toujours vrai.
Dans d'autres cas, le code était bien découpé mais le commentaire apportait peu d'informations ou était redondant, par exemple:
// je lance la méthode qui fait ceci
methodeQuiFaitCeci();
En pratique, les commentaires à l'intérieur d'une méthode peuvent souvent être remplacés par des méthodes (ou parfois des variables) qui portent un nom bien choisi, le nom de la méthode devenant ainsi le commentaire.
Par exemple, le code précédent deviendrait :
/**
* Description de la méthode.
*/
public void maMethode(int param) {
if (estParametreOK(param)) {
traitementQuiFaitCeci();
} else {
traitementQuiFaitCela();
}
...
}
En adoptant cette stratégie, le programme devient plus lisible qu'avec les commentaires. Ceci dit, je ne proscrirai pas pour autant le commentaire dans une méthode: je crois qu'il peut éventuellement être utile s'il s'agit de décrire un algorithme compliqué, quoique cet algorithme devrait être isolé dans une méthode ou une classe.
Du coup, on peut étendre la notion de commentaire dans un programme. Plutôt que de définir celui-ci comme un simple texte sans signification pour le compilateur, on devrait y ajouter les noms des méthodes, des variables et des classes (ce qui ne veut évidemment pas dire que toute variable doit être un commentaire en soi, sinon qu'en serait-il de ces chères variables de boucle ? ). Je crois qu'il y aurait encore beaucoup à dire sur les commentaires, mais ce sera peut-être l'objet d'un autre post.