Il n'y a pas de problème avec l'ancien style ( style K & R ) (tant qu'il est indenté). Il est très utilisé dans les langages ayant ce type de syntaxe (C, Java, Perl).
C'est, par exemple, la norme Java et elle est tout à fait lisible (tant qu'elle est correctement indentée). [ Comme mql4 emprunte fortement la syntaxe du style C, je pense que mentionner ces autres langages est pertinent ].
Il devrait cependant être indenté :
if(a==b){
Dothis;
Dothis;
etc;
}
Le deuxième exemple ( style Allman ) est également préféré par certains, et est généralement considéré comme plus lisible (encore une fois avec une indentation correcte).
if(a==b)
{
Dothis;
Dothis;
etc;
}
Mais la méthode que vous semblez rejeter est assez populaire ailleurs (pour des raisons de lisibilité).
Votre dernier exemple ne me plaît pas du tout.
Le style allman est également plus facile à identifier les accolades manquantes, notamment dans les arbres complexes de type if else.
Le style de bracelets est une préférence des programmeurs, il n'y a pas vraiment de bonne ou de mauvaise méthode. Le style K&R est le meilleur ;-). Pourquoi prendre une ligne supplémentaire pour une accolade ouvrante .... ? Ce qui m'importe vraiment, c'est de savoir à quel if{statement} elle appartient. Par exemple, ce qui semble le mieux et le plus facile à comprendre.
if(.............................) { if(.............................) { if(.............................) { if(.............................) { if(.............................) { if(.............................) { if(.............................) { if(.............................) { if(.............................) { if(.............................) { } } } } } } } } } }
Ou cette version :
if(.............................){ if(.............................){ if(.............................){ if(.............................){ if(.............................){ if(.............................){ if(.............................){ if(.............................){ if(.............................){ if(.............................){ } } } } } } } } } }
Et encore mieux.
if( !.............................) return if( !.............................) return if( !.............................) return if( !.............................) return if( !.............................) return if( !.............................) return if( !.............................) return if( !.............................) return if( !.............................) return if( !.............................) returnLa dernière version me semble plus naturelle que la façon dont j'écris dans la vie réelle. Ligne par ligne.
Je le fais comme ça :
if(.............................) {if(.............................) {if(.............................) {if(.............................) {if(.............................) {if(.............................) {if(.............................) {if(.............................) {if(.............................) {if(.............................) }}}}}}}}}
J'aime cette discussion.
Et qu'en est-il de la préférence dans le codage de l'instruction else . Je préfère le premier exemple, bien que certains éditeurs ne puissent pas plier/déplier de tels blocs. Le deuxième est un compromis. Le troisième est encore plus cohérent, mais illisible.
if (cond) { command; } else if (cond) { command; } else { command; }
ou
if (cond) { command; } else if (cond) { command; } else { command; }
ou
if (cond) { command; } else { if (cond) { command; } else { command; } }
Je n'utilise plus beaucoup else. Il y a eu un problème où j'ai été obligé d'utiliser else il y a quelque temps (je ne me souviens plus du problème). Quand j'ai utilisé else, cela a donné quelque chose comme ça.
if (cond) { command; } else if (cond) { command; } else { command; }
Maintenant, cependant, mon premier enseignement sur le codage de quelque chose comme ci-dessus serait.
if( cond ){ command; return; } if( cond ){ command; return; } command;
Oui, je vais transformer un code de trois lignes en une fonction 8)))
je fais si autre chose comme ça
Dans une certaine mesure, cela n'a pas d'importance, la principale chose qui compte est la cohérence de l'application du style choisi... nous avons tous nos propres préférences, bien sûr.
Je suis d'accord avec Raptor. Sujet à propos de rien. Je suis beaucoup plus frustré quand les gens postent leur code ici sans utiliser le SRC. La façon dont ils codent leur programme leur appartient, à moins qu'ils ne demandent de l'aide.
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Vous acceptez la politique du site Web et les conditions d'utilisation
Je vois cela souvent quand les gens postent leur code.
if(a==b){ Dothis; Dothis; etc; }
Ce n'est pas un problème lorsqu'on lit de courts morceaux de code d'autres personnes.
Mais quand il y a beaucoup de code, cela peut le rendre presque impossible à suivre.
Je pense que beaucoup ont des difficultés à trouver des erreurs dans leur propre code.
Pourquoi pas ?