À chaque fois que je vois un nouveau code (que ce soit dans le domaine open-source ou non), j'ai souvent tendance à tiquer sur une notation qui — selon moi — n'est pas très logique :
while ( a > 10 ) { if ( a % 2 ) { printf("0"); } else { printf("1"); } }
Cette manie qu'on beaucoup de programmeurs de mettre les accolades ouvrantes sur la même ligne que la condition... Je préfère largement cette notation :
while ( a > 10 ) { if ( a % 2 ) { printf("0"); } else { printf("1"); } }
Je ne veux pas lancer ici un débat sur pourquoi choisir la première notation ou la seconde. Je vais simplement rappeler les arguments qui m'ont été avancés pour défendre chacune de ces notations :
- Sur la même ligne
- Le code est plus court
- Sur une nouvelle ligne
- L'indentation est plus simple à visualiser
- Les accolades de même niveau se trouvent au même niveau d'indentation facilitant leur fermetures
Finalement, pas beaucoup d'arguments pour les deux méthodes. Ce n'est pas donc pas sur ce terrain que les développeurs se battent.
Par contre, malgré le faible nombre de ces arguments, je ne peux pas m'empêcher de considérer l'argument pour la première notation comme irrecevable, en effet, la qualité d'un code n'a jamais été en fonction de sa taille. Le temps des concours de nombre de lignes est maintenant révolu.
D'un autre côté, tous les programmeurs que j'ai rencontré m'ont donné raison sur les deux arguments avancés en faveur de la seconde notation. Mais alors ? Pourquoi n'ont-ils pas changé ? Et bien parce qu'ils n'aiment pas
. Tout simplement.
Qu'en conclure ? Et bien, vous n'aimez pas leur syntaxe, et eux, ne trouvent finalement pas si mal la votre, donc finalement, votre équipe va choisir... celle que vous n'aimez pas, puisqu'ils l'aiment bien
. Et oui ce sont les sentiments qui dictent tout ça, la peur du changement tout simplement. Alors quelques conseils à suivre pour faire efin adopter votre manière de syntaxe :
- discuter gentiment comme nous venons de le faire, et vous verrez que les gens intelligents en viendront facilement à discuter avec vous ;
- imposer votre méthode, ça ne fait jamais de mal de se trouver façe à quelque chose de mieux, on ne s'en rend souvent compte que lorsque le résultat est là ;
- barrez-vous ! Travaillez avec des gens pareils, c'est pas humains :-D
1 De Batmat -
Je suis tout à fait d'accord avec cette syntaxe. Je la préfère de loin à celle où l'accolade est sur la ligne du if, par exemple.
Toutefois, pour me faire l'avocat du diable et parvenir par la même occasion à mieux répondre aux critiques éventuelles, un argument auquel j'ai du mal à trouver une réponse valable est celui-ci, qui m'est régulièrement donné :
Des idées pour répondre à ça ?
Moi je dirais déjà que maintenant il est souvent possible de "replier" des morceaux de code, etc. Donc qu'on peut gagner de la place si besoin, mais bon, c'est pas vraiment une réponse.
2 De hardbit -
while (a > 10) { __explode_the_stack(); }