next up previous contents Next:  #define et #id - Up: Les bases du C. Previous:  #include et les prototypes.   Table des matières  

23.1.11  Les commentaires.

Un commentaire en C est cité ainsi: /* <ligne de commentaires> */ et il est possible de le faire tenir sur plusieurs lignes. Tout ce qui se trouve entre les signes /* et */ est ignoré par le compilateur. Chaque fonction devrait comprendre un commentaire ainsi que tout code non trivial. Il existe une bonne maxime qui dit que tout code mal écrit requiert du commentaire. Ne commentez jamais ce qui est évident. Expliquez pourquoi vous développez tel ou tel point mais pas ce que vous faites. Il n'est pas judicieux de réaliser de jolis graphiques entre les fonctions. Ainsi écrivez plutôt ceci:

/* returns -1 on eror, takes a positive integer */ 
int sqr (int x) 
{ 
    < ... > 


que cela:

/***************************--SQR--****************************** 
*               x = argument to make the square of                  *  
*               return value =                                      * 
*                              -1 on error                          * 
*                              square of x (on success)             * 
*********************************************************************

int sqr (int x) 
{ 
    < ... > 



ce qui est très désagréable. En C++, l'addition de commentaires derrière // est permise. Cette pratique autorisée par gcc ne peut pas être recommandée sauf si vous écrivez en C++. De plus, les programmeurs introduisent souvent des lignes de commentaires entre #if 0 et # endif ce qui produit le même résultat que décrit plus haut mais autorise à placer des commentaires à l'intérieur du commentaire principal (voir la section 23.1.12). Ainsi, par exemple, dans le code suivant:

  int x; 
  x = 10; 
#if 0 
     printf ("debug: x is %d\n", x);     /*print debug information */ 
#endif 
  y = x + 10; 
  < ... >  


next up previous contents Next:  #define et #id - Up: Les bases du C. Previous:  #include et les prototypes.   Table des matières  
1-01-2006