Dans la mesure du if
possible, évitez les longues périodes de bobinage , mais parfois nous finissons tous par les écrire. Même s'il s'agit d'une condition très simple, les déclarations impliquées sont parfois simplement très verbeuses, de sorte que la condition dans son ensemble finit par être très longue. Quel est le moyen le plus lisible de formater ceux-ci?
if (FoobarBaz::quxQuux(corge, grault) || !garply(waldo) || fred(plugh) !== xyzzy) {
thud();
}
ou
if (
FoobarBaz::quxQuux(corge, grault)
|| !garply(waldo)
|| fred(plugh) !== xyzzy
) {
thud();
}
ou
if (FoobarBaz::quxQuux(corge, grault)
|| !garply(waldo)
|| fred(plugh) !== xyzzy) {
thud();
}
ou
thudable = FoobarBaz::quxQuux(corge, grault);
thudable ||= !garply(waldo);
thudable ||= fred(plugh) !== xyzzy;
if (thudable) {
thud();
}
ou d'autres préférences?
coding-style
conditions
décongeler
la source
la source
J'aime garder les opérateurs à la fin pour indiquer la suite:
la source
Je suis un grand fan de noms de variables significatifs:
Ou refactor en tant que fonction, comme mentionné ci-dessus.
la source
Je décompose les sous-expressions plus complexes, ou toutes, sous forme de variables bool. Ensuite, la logique booléenne de niveau supérieur de la déclaration 'if' peut être clarifiée. Dans le genre de travail que je fais, il n’ya pas toujours plusieurs choses ORed ou ANDed.
Ceci est particulièrement utile dans un débogueur, où je peux regarder toutes les erreurs avant d'exécuter le 'if'.
la source
J'ai tendance à aligner les opérateurs au début des nouvelles lignes, de sorte que je me souviens de la façon dont je combine les termes (à la fois pour la logique longue et pour l'arithmétique longue). Comme ça:
Cela ne fonctionne que si j'indente de 2 espaces ou si je mets mon environnement pour indenter davantage de prédicats multilignes, sinon il serait difficile de dire où finit le prédicat et où commence le code utile.
la source
Je suis fan de ce qui suit:
De cette façon, il ressemble toujours à une expression if et non à une expression if décomposée. L'indentation aide à montrer qu'il s'agit d'une continuation de la ligne précédente.
Vous pouvez également l'indenter jusqu'à ce que le crochet d'ouverture se trouve à la fin de la ligne précédente, de sorte qu'il se trouve à la fin de l'expression if telle qu'elle est supposée être.
la source