Préférez les commentaires C++ à ceux du C
Les commentaires multi-lignes du C /* ... */ fonctionnent également en C++ mais vous devriez éviter de les utiliser. Le commentaire de fin de ligne C++ // ... a des avantages indéniables.
Supposons le bout de code suivant. Ces commentaires sont bidons, mais c'est pour l'exemple.
unsigned long fact(unsigned long n) { unsigned long result = 1; for (; n > 1; --n) { // calcul de la factorielle de manière itérative result *= n; } return result; }
Pour une raison quelconque, nous devons mettre en commentaire le bloc for. On peut le faire de deux manières, en utilisant les commentaires mono-ligne C++ ou via les commentaires multi-lignes du C mais cette technique n'est pas recommandée, nous allons voir pourquoi un peu plus tard.
unsigned long fact(unsigned long n) { unsigned long result = 1; //for (; n > 1; --n) { // calcul de la factorielle de manière itérative // result *= n; //} return result; }
Contrairement aux commentaires mono-ligne, les commentaires multi-lignes ne peuvent pas être imbriqués, et c'est là leur faiblesse. N'avez vous jamais eu à mettre un gros bloc de code en commentaire pour vous apercevoir qu'un autre commentaire multi-lignes se trouvait à l'intérieur de ce bloc ? Voici ce qu'il se passe lorsque l'on tente de le faire. La coloration syntaxique du code ci-dessous montre bien que le premier */ termine le commentaire. Il en résulte donc des erreurs de compilation causées par des accolades non appairées et par le morceau de fin de commentaire orphelin */.
unsigned long fact(unsigned long n) { unsigned long result = 1; /* for (; n > 1; --n) { /* calcul de la factorielle de manière itérative */ result *= n; } */ return result; }
Il existe cependant une méthode pour commenter un bloc de code contenant des commentaires multi-lignes. Il s'agit de faire appel au préprocesseur en utilisant une instruction conditionnelle #if. Le code compris entre le #if 0 est le #endif sera simplement supprimé par le préprocesseur avant qu'il soit compilé. Cette technique ne doit être utilisée qu'exceptionnellement, préférez les commentaires mono-ligne du C++.
unsigned long fact(unsigned long n) { unsigned long result = 1; #if 0 for (; n > 1; --n) { result *= n; /* un commentaire */ } #endif return result; }
Pour conclure, prenez pour habitude d'utiliser les commentaires mono-ligne du C++ // .... Commenter tout un bloc de code de cette manière n'est pas très pratique mais la plupart des EDI savent le faire automatiquement.
Vous pourrez approfondir le sujet avec la sélection des livres suivants : Pour mieux développer avec C++, Standards de programmation en C++ et Le langage C++.
Derniers Commentaires