Durante mucho tiempo argumenté que tenían el mismo valor, o por lo tanto muy cerca de igual , que la posible ganancia al tomar la decisión correcta estaba muy, muy por debajo del costo de de discutiendo al respecto.
Sin embargo,
ser coherente es importante . Así que dije que vamos a lanzar una moneda y escribir un código.
He visto a los programadores resistirse a un cambio como este antes. ¡Superalo! He cambiado muchas veces en mi carrera. Incluso utilizo diferentes estilos en mi C # que en mi PowerShell.
Hace unos años, estaba trabajando en un equipo (~ 20 desarrolladores) que decidió solicitar aportes y luego tomar una decisión y luego aplicarla en todo el código base. Tendríamos 1 semana para decidir.
Muchos gemidos y amp; girando los ojos. Un montón de "Me gusta mi camino, porque es mejor", pero no sustancia.
Mientras estudiábamos los puntos más finos de la pregunta, alguien preguntó cómo abordar este problema con un estilo de apoyo en la misma línea:
void MyFunction(
int parameterOne,
int parameterTwo) {
int localOne,
int localTwo
}
Tenga en cuenta que no es inmediatamente obvio dónde termina la lista de parámetros y comienza el cuerpo. Comparar con:
void MyFunction(
int parameterOne,
int parameterTwo)
{
int localOne,
int localTwo
}
Hicimos algunas lecturas sobre cómo las personas de todo el mundo habían resuelto este problema y encontraron el patrón de agregar una línea en blanco después de la abrazadera abierta:
void MyFunction(
int parameterOne,
int parameterTwo) {
int localOne,
int localTwo
}
Si vas a hacer una pausa visual, también puedes hacerlo con una abrazadera. Luego tus saltos visuales también se vuelven consistentes.
Editar : dos alternativas a la solución de "línea en blanco adicional" al usar K & R:
1 / Sangrar los argumentos de la función de forma diferente al cuerpo de la función
2 / Coloque el primer argumento en la misma línea que el nombre de la función y alinee los argumentos adicionales en las nuevas líneas con ese primer argumento
Ejemplos:
1 /
void MyFunction(
int parameterOne,
int parameterTwo) {
int localOne,
int localTwo
}
2 /
void MyFunction(int parameterOne,
int parameterTwo) {
int localOne,
int localTwo
}
/Editar
Sigo argumentando que la coherencia es más importante que otras consideraciones, pero si no tenemos un precedente establecido , entonces la mejor manera es ir por el momento.