¿Existe tal cosa como demasiada uniformidad? Donde trabajo, por supuesto, tenemos estándares que incluyen convenciones de nombres, arquitecturas, marcos para aprovechar, etc. Sin embargo, últimamente ha habido muchas críticas sobre cosas que consideraría más estilo.
Por ejemplo, escribir if
declaraciones en varias líneas frente a una línea, utilizando el ??
operador de fusión nula c # en lugar de == null
, por ejemplo , cantidades de espaciado para sangrías, etc.
Me parece que esto comienza a convertirse en una elección de estilo personal y no necesita ser uniforme en un equipo o empresa. Lo que una persona piensa lee más claramente, otra no. ¿Hay algún valor en esta uniformidad "extra"?
Respuestas:
La uniformidad no es un problema (es bueno), pero la rigidez o la inflexibilidad pueden serlo. Si en la lucha por la uniformidad te vuelves dogmático, el daño que estás haciendo al equipo puede ser mayor que el bien que proviene de la (posiblemente) uniformidad resultante.
Es mejor establecer un estilo básico para las cosas más importantes (estándares de nomenclatura y capitalización, sangría, líneas nuevas y colocación de corchetes, etc.), establecer recomendaciones para cosas menos importantes (si el formato de la declaración, otros espacios en blanco alrededor de paréntesis, etc.) , y luego no te preocupes por el resto.
fuente
Cuando potencialmente docenas de personas están trabajando en un proyecto durante los años de su vida útil, a veces se vuelve confuso cuando tienes que saltar estilos. Imagine leer un libro donde los diferentes capítulos están escritos por diferentes autores que solo mantienen un estilo de escritura. Es posible, pero es molesto.
La mayoría de los IDE pueden aplicar estilos en estos días, por lo que si es necesario, puede distribuir (como parte del código fuente del proyecto) un archivo de preferencias IDE que especifique el estilo de codificación elegido y que todos lo instalen y lo usen para formatear el código que están escribiendo. . Apuesto a que incluso hay formas de reformatear / diseñar el código en el check-in (aunque todavía no he tenido que investigar esto).
fuente
Un caso de sobre-uniformidad que he visto es tener un único estándar que se aplica a todos los lenguajes de programación, independientemente de lo apropiado:
goto
incluso en lenguajes como C sintry
...catch
.InitialCaps
nombres (como en MFC y C # de Microsoft) en JavaScript donde está la biblioteca estándarinitialLowerCase
.fuente
No creo que exista demasiada uniformidad. Sin embargo, a menudo encuentro demasiada ESPECIFICIDAD en los estándares de codificación. Los beneficios de que todos coloquen la llave de apertura en una línea separada son dudosos en el mejor de los casos y no superan el tiempo dedicado a discutir sobre ello o a solucionar problemas cosméticos en el código.
fuente
Tendría 2 argumentos para la uniformidad:
Promoción de la propiedad colectiva. Que alguien puede ir a editar el código de otra persona sin temer que el "bebé" de alguien esté a punto de sufrir el cambio. Una especie de mentalidad de "Estamos todos juntos en esto".
Facilidad de agregarle. Si ya se ha hecho algo en otro lugar, esto puede tomarse y reutilizarse posiblemente. Algunas convenciones pueden ayudar a hacer que las cosas sean más fáciles de leer o cambiar a veces, por lo que este es otro beneficio para mi mente.
fuente