He pasado la mayor parte de los últimos años trabajando principalmente con C # y SQL. Todos los programadores con los que trabajé durante ese tiempo tenían la costumbre de colocar la llave de apertura de una función o declaración de flujo de control en una nueva línea. Asi que ...
public void MyFunction(string myArgument)
{
//do stuff
}
if(myBoolean == true)
{
//do something
}
else
{
//do something else
}
Siempre me ha llamado la atención el desperdicio de espacio, especialmente en las declaraciones if / else. Y sé que existen alternativas en versiones posteriores de C #, como:
if(myBoolean == true)
//do something on one line of code
Pero casi nadie los usó. Todos hicieron lo de rizar-apoyarse-en-nueva línea.
Luego volví a hacer JavaScript después de una larga ausencia. En mi memoria, los desarrolladores de JavaScript solían hacer exactamente lo mismo, pero con todas las nuevas bibliotecas y cosas elegantes, la mayoría de los desarrolladores ponen la llave de apertura después de la declaración:
function MyJavaScriptFunction() {
//do something
}
Puede ver el sentido en esto, ya que el uso de cierres y punteros de función se ha vuelto popular en JavaScript, ahorra mucho espacio y hace que las cosas sean más legibles. Entonces me pregunté por qué no se veía como lo hecho en C #. De hecho, si prueba la construcción anterior en Visual Studio 2013, en realidad lo reformatea por usted, ¡colocando la llave de apertura en una nueva línea!
Ahora, acabo de ver esta pregunta en Code Review SE: https://codereview.stackexchange.com/questions/48035/questions-responses-let-me-tell-you-about-you En el que aprendí eso en Java, un lenguaje con el que no estoy demasiado familiarizado, se considera de rigor abrir sus llaves justo después de la declaración, en la moda moderna de JavaScript.
Siempre había entendido que C # fue modelado originalmente después de Java, y mantuvo muchos de los mismos estándares de codificación basal. Pero en este caso, parece que no. Entonces supongo que debe haber una buena razón: ¿cuál es la razón? ¿Por qué los desarrolladores de C # (y Visual Studio) aplican la apertura de llaves en una nueva línea?
if(myBoolean == true)
tiene poco sentido para mí. Mientras estamos en eso, mientras que no if ((myBoolean == true) == true)
? Justo if (myBoolean)
y eso es suficiente. Lo siento, una mascota mía.