J'ai passé la plupart de ces dernières années à travailler principalement avec C # et SQL. Tous les programmeurs avec lesquels j'ai travaillé au cours de cette période avaient l'habitude de placer l'accolade ouvrante d'un énoncé de fonction ou de flux de commande sur une nouvelle ligne. Alors ...
public void MyFunction(string myArgument)
{
//do stuff
}
if(myBoolean == true)
{
//do something
}
else
{
//do something else
}
J'ai toujours été frappé par le gaspillage d'espace, en particulier dans les déclarations if / else. Et je sais que des alternatives existent dans les versions ultérieures de C #, telles que:
if(myBoolean == true)
//do something on one line of code
Mais presque personne ne les utilisait. Tout le monde a fait la chose curly-brace-on-newline.
Puis je me suis remis à faire du JavaScript après une longue absence. Dans ma mémoire, les développeurs JavaScript avaient l'habitude de faire exactement la même chose, mais avec toutes les nouvelles bibliothèques sophistiquées, la plupart des développeurs ajoutent l'accolade ouvrante après la déclaration:
function MyJavaScriptFunction() {
//do something
}
Vous pouvez voir le sens de ceci, car depuis l'utilisation de fermetures et de pointeurs de fonctions est devenue populaire en JavaScript, cela économise beaucoup d'espace et rend les choses plus lisibles. Je me suis donc demandé pourquoi cela n'était pas vu comme une chose faite en C #. En fait, si vous essayez la construction ci-dessus dans Visual Studio 2013, elle la reformate pour vous, plaçant l'accolade ouvrante sur une nouvelle ligne!
Maintenant, je viens de voir cette question sur Code Review SE: https://codereview.stackexchange.com/questions/48035/questions-responses-let-me-tell-you-about-you Dans lequel j’ai appris qu’à Java, un langage que je ne connais pas très bien, il est considéré comme de la rigueur d’ouvrir vos accolades juste après la déclaration, à la manière de JavaScript moderne.
J'ai toujours compris que C # était à l'origine basé sur Java et respectait les mêmes normes de codage de base. Mais dans ce cas, il semble que non. Donc, je suppose qu'il doit y avoir une bonne raison: quelle est la raison? Pourquoi les développeurs C # (et Visual Studio) imposent-ils l'ouverture des accolades sur une nouvelle ligne?
if(myBoolean == true)
cela n’a aucun sens pour moi. Tant que nous y sommes, mais pas if ((myBoolean == true) == true)
?? Juste if (myBoolean)
et ça suffit. Désolé, une bête noire.