Ich habe in den letzten Jahren hauptsächlich mit C # und SQL gearbeitet. Jeder Programmierer, mit dem ich in dieser Zeit zusammengearbeitet habe, pflegte die öffnende Klammer einer Funktions- oder Kontrollflussanweisung in eine neue Zeile zu setzen. Damit ...
public void MyFunction(string myArgument)
{
//do stuff
}
if(myBoolean == true)
{
//do something
}
else
{
//do something else
}
Es hat mich immer beeindruckt, wie viel Platz verschwendet wird, insbesondere bei if / else-Anweisungen. Und ich weiß, dass es in späteren Versionen von C # Alternativen gibt, wie zum Beispiel:
if(myBoolean == true)
//do something on one line of code
Aber kaum jemand hat sie benutzt. Alle machten die Sache mit der geschweiften Klammer auf der Newline.
Dann habe ich mich nach langer Abwesenheit wieder mit JavaScript beschäftigt. In meinem Gedächtnis haben JavaScript-Entwickler früher genau dasselbe getan wie geschweifte Klammern und Zeilenumbrüche, aber mit all den schick neuen Bibliotheken und Dingen haben die meisten Entwickler die öffnende Klammer nach der Deklaration eingefügt:
function MyJavaScriptFunction() {
//do something
}
Sie können den Sinn daran erkennen, dass die Verwendung von Closures und Funktionszeigern in JavaScript populär geworden ist. Dadurch wird viel Platz gespart und die Lesbarkeit verbessert. Also fragte ich mich, warum es in C # nicht als erledigt angesehen wurde. Wenn Sie das obige Konstrukt in Visual Studio 2013 ausprobieren, wird es tatsächlich für Sie neu formatiert und die öffnende Klammer in eine neue Zeile gesetzt!
Jetzt habe ich diese Frage in Code Review SE gesehen: https://codereview.stackexchange.com/questions/48035/questions-responses-let-me-tell-you-about-you In dem ich das in Java gelernt habe, a Sprache, mit der ich nicht allzu vertraut bin. Es wird als hinderlich angesehen, die geschweiften Klammern direkt nach der Deklaration in moderner JavaScript-Form zu öffnen.
Ich hatte immer verstanden, dass C # ursprünglich Java nachgebildet war und viele der gleichen basalen Codierungsstandards einhielt. Aber in diesem Fall scheint es nicht. Ich nehme also an, dass es einen guten Grund geben muss: Was ist der Grund? Warum erzwingen C # -Entwickler (und Visual Studio) das Öffnen von geschweiften Klammern in einer neuen Zeile?
if(myBoolean == true)
ergibt das für mich wenig Sinn. Während wir dabei sind, während nicht if ((myBoolean == true) == true)
? Nur if (myBoolean)
und das ist genug. Tut mir leid, mein Haustier.