Ho passato la maggior parte degli ultimi anni a lavorare principalmente con C # e SQL. Ogni programmatore con cui ho lavorato in quel periodo aveva l'abitudine di posizionare la parentesi di apertura di una funzione o di una dichiarazione di flusso di controllo su una nuova riga. Quindi ...
public void MyFunction(string myArgument)
{
//do stuff
}
if(myBoolean == true)
{
//do something
}
else
{
//do something else
}
Sono sempre stato colpito da quanto spreco di spazio è questo, specialmente nelle dichiarazioni if / else. E so che esistono alternative nelle versioni successive di C #, come:
if(myBoolean == true)
//do something on one line of code
Ma quasi nessuno li ha usati. Ognuno ha fatto il riccio-brace-on-newline cosa.
Poi sono tornato a fare JavaScript dopo una lunga assenza. Nella mia memoria, gli sviluppatori di JavaScript erano soliti fare la stessa identica cosa di riccio-brace, ma con tutte le nuove fantasiose librerie e roba, la maggior parte degli sviluppatori ha messo la parentesi aperta dopo la dichiarazione:
function MyJavaScriptFunction() {
//do something
}
Puoi vedere il senso in questo, perché poiché l'utilizzo di chiusure e puntatori di funzione è diventato popolare in JavaScript, risparmia molto spazio e rende le cose più leggibili. Quindi mi sono chiesto perché non è stato visto come la cosa fatta in C #. Infatti, se provi il costrutto sopra in Visual Studio 2013, in realtà lo riformatta per te, mettendo la parentesi aperta su una nuova riga!
Ora ho appena visto questa domanda su Code Review SE: link In cui ho imparato che in Java, una lingua con cui non ho molta familiarità, è considerato di rigore aprire le parentesi graffe subito dopo la dichiarazione, nella moderna modalità JavaScript.
Ho sempre capito che C # è stato originariamente modellato su Java e mantenuto molti degli stessi standard di codifica basale. Ma in questo caso, non sembra. Quindi presumo ci debba essere una buona ragione: qual è la ragione? Perché gli sviluppatori C # (e Visual Studio) impongono l'apertura di parentesi graffe su una nuova riga?