retour
Je crois qu'il est de bonne pratique de forcer les accolades "{ }" dans un if (while, do ...while, for ...) même pour une seule instruction.

Exemple:

je n'écris jamais (qu'il y est ou pas de else est sans importance):


                                        if (condition) 
                                                printf("Message");
 
mais toujours:

                                        if (condition) {
                                                printf("Message");
                                        }

 

La raison de est que lors du développement de gros projet (où plusieurs personnes peuvent etre impliquées) il se peut que le code soit modifié par une autre personne plus tard dans le cadre du projet (ou d'une nouvelle version, ou d'un bug...). Il suffit d'un moment d'inattention et une erreur est introduite.

Ainsi si vous avez:


                        if (condition)
                                a = b; /* une expression quelconque */
 

Si vous voulez une nouvelle fonctionalité, une erreur fréquente qui peut arriver (et qui arrive!) est:


                        if (condition)
                                a = b; /* une expression quelconque */
                                a += fct() /* l'ajout d'une nouvelle valeur mais dans tout les cas !!! */
 

Ainsi si les accolades sont forcées il n'y a pas d'erreur potentielle.
(Le seul cas acceptable est celui-ci: if (condition) printf(...); car sur une seule ligne.)
Ceci n'est qu'une opinion, mais si on fait de la programmation défensive forcer les accolades est de bonne pratique.


retour


Commentaire publié avec l'aimable permission de Francois Donato donatofr@dmr.ca