Aujourd'hui, commenter est plus facile que jamais. En Java, il existe de belles techniques pour lier les commentaires aux classes, et les IDE Java sont bons pour créer des shells de commentaires pour vous. Des langages comme Clojure vous permettent même d'ajouter une description d'une fonction dans le code de fonction lui-même comme argument.
Cependant, nous vivons toujours à une époque où il y a souvent des commentaires obsolètes ou pauvres écrits par de bons développeurs - je suis intéressé à améliorer la robustesse et l'utilité de mes commentaires.
En particulier, je suis intéressé par Java / Clojure / Python ici, mais les réponses n'ont pas besoin d'être spécifiques au langage.
Existe-t-il des techniques émergentes qui valident les commentaires et détectent automatiquement les commentaires "fragiles" (par exemple les commentaires avec des nombres magiques, les phrases incomplètes, etc.) ou les commentaires incorrects (par exemple, la détection de variables mal orthographiées ou similaires).
Et plus important encore: existe-t-il des «politiques de commentaires» ou des stratégies acceptées? Il existe de nombreux conseils sur la façon de coder - mais qu'en est-il de "commenter?"
Cela pourrait être controversé, mais mon conseil serait d'écrire le moins de commentaires possible. Utilisez plutôt des noms de classe, des noms de variables et des noms de méthode clairs et agréables. Écrivez votre code de la manière la plus claire possible; et considérez qu'il s'agit de l'attribut le plus important de votre code (à part qu'il répond à ses exigences). N'écrivez un commentaire que si vous avez rendu une méthode aussi claire que possible, et que vous pensez toujours qu'elle nécessite des explications supplémentaires.
Et avoir une pratique organisationnelle, que chaque fois que quelqu'un change une classe de quelque manière, il doit s'assurer que les commentaires sont toujours corrects.
la source
if (a == b) then c();
ça fait, mais si je ne sais pas pourquoi il le fait - c'est alors qu'un commentaire devrait être utilisé :)Je ne suis pas sûr des autres langages, mais python vous permet d'écrire des doctests qui sont une forme de commentaires d'auto-validation. Bien sûr, ils ne doivent pas être utilisés à la place de tests unitaires réels, mais constituent une méthode rapide et facile de documenter des fonctions spécifiques qui peuvent ne pas être aussi évidentes qu'elles devraient l'être. Ils ont l'avantage supplémentaire de pouvoir exécuter les tests de commentaire pour vérifier que les commentaires sont toujours corrects (au moins la partie d'entre eux qui contient des tests).
la source
L'un des emplacements les plus fiables pour trouver comment utiliser le commentaire de code pour générer automatiquement de la documentation est sûrement doxygen . Bien qu'il puisse y avoir plus d'outils de ce type.
Cela définit la norme d' écriture des commentaires qui doit être suivie pour générer automatiquement la documentation. Cependant, cela donne plus d'une structure mais ne valide pas sémantiquement; par exemple, il ne peut pas vérifier si vous avez utilisé un anglais trompeur pour décrire le but d'une fonction!
Bien que ce soit la meilleure chose pour structurer les commentaires, personnellement, je pense qu'il y a plus de documentation nécessaire pour rendre le code plus maintenable en tant que tel. Il y a quelque temps, il y avait une question dans P.SE Le code peut-il être la documentation des outils de développement open source? Quelle est sa fréquence? Bien sûr, cela s'applique également aux projets non open-source.
Pour rendre le code plus facile à gérer - il est pratiquement plus important qu'il existe une documentation externe qui aide à créer une structure sur la façon de traiter le code, puis les commentaires à l'intérieur du code doivent être limités pour voir
Je pense que si vous voulez définir les politiques de rédaction des commentaires, vous devez inclure une approche holistique incluse dans la norme de codage. Voir ceci: Quels pourraient être les pièges dans l'introduction d'un guide de style et d'un logiciel de génération de documentation dans une équipe de développement?
Habituellement, un commentaire constitue moins de 5% du code. Et dans la pratique, alors que les révisions de code elles-mêmes attirent beaucoup moins d'attention (sur d'autres aspects du développement), il est pratiquement difficile que les commentaires soient également examinés.
la source
Il existe une technique bien connue - elle est appelée "révision de code" et a une sœur nommée "programmation par paires". Ne vous attendez à rien "automagiquement" ici.
"Code complet" contient non seulement tout sur la façon de coder, mais aussi des chapitres sur "comment commenter", en particulier sur la façon d'écrire du code auto-documenté.
la source
Spécifique à Java, une source que j'ai appréciée est Comment écrire des commentaires de doc pour l'outil Javadoc d' Oracle :
Et point 44: écrire des commentaires de doc pour tous les éléments d'API exposés :
de Effective Java 2nd Edition .
la source