La question porte sur les déclarations sur une seule ligne. Pourtant, les nombreux exemples fournis montrent des raisons de ne pas omettre les accolades pour les déclarations sur plusieurs lignes. Il est tout à fait possible de ne pas utiliser d'accolades sur une ligne, si c'est le style de codage que vous préférez.
Par exemple, la question demande si cela est acceptable :
if (condition) statement;
Il ne demande pas si cela est correct :
if (condition)
statement;
Je pense qu'il est préférable de ne pas utiliser de parenthèses, car cela rend le code plus lisible, avec moins de syntaxe superflue.
Mon style de codage consiste à ne jamais utiliser de parenthèses, sauf si le code est un bloc. Et de ne jamais utiliser plusieurs instructions sur une même ligne (séparées par des points-virgules). Je trouve cela facile à lire et clair et je n'ai jamais de problèmes de portée sur les instructions "if". Par conséquent, l'utilisation de parenthèses sur une seule déclaration de condition if nécessiterait 3 lignes. Comme ceci :
if (condition) {
statement;
}
Il est préférable d'utiliser une instruction if d'une ligne car elle utilise moins d'espace vertical et le code est plus compact.
Je n'obligerais pas les autres à utiliser cette méthode, mais elle fonctionne pour moi et je ne pourrais pas être plus en désaccord avec les exemples fournis sur la façon dont l'omission des parenthèses entraîne des erreurs de codage/de cadrage.
6 votes
Remarque : seule la première déclaration prend en charge la portée, même si vous avez plusieurs déclarations sur une ligne, il ne s'agit donc pas de "déclarations d'une ligne" mais plutôt d'une seule déclaration.
2 votes
Vous pensez peut-être au problème décrit dans cette réponse
0 votes
@Blorgbeard : non, j'ai en fait répondu à cette réponse il y a un moment.
0 votes
Hah, je vois. Pas grave alors :)
0 votes
Voici votre réponse : medium.com/@jonathanabrams/