Trabajo en un equipo pequeño, alrededor de 10 desarrolladores. No tenemos estándares de codificación en absoluto. Hay ciertas cosas que se han convertido en la norma, pero algunas formas de hacer las cosas son completamente dispares. Mi grande es la sangría. Algunos usan pestañas, otros usan espacios, otros usan un número diferente de espacios, lo que crea un gran problema. A menudo termino con conflictos cuando me fusiono porque alguien usó su IDE para formatear automáticamente y usan un carácter diferente para sangrar que yo. No me importa cuál usemos, solo quiero que todos usemos el mismo.
De lo contrario, abriré un archivo y algunas líneas tienen corchetes en la misma línea que la condición, mientras que otras las tienen en la línea siguiente. De nuevo, no me importa cuál, siempre y cuando sean todos iguales.
Le mencioné el tema de los estándares a mi gerente directo, uno a uno y en reuniones grupales, y él no está demasiado preocupado por eso (hay varios otros que comparten la misma opinión que yo). Saqué a relucir mi preocupación específica sobre los caracteres de sangría y pensó que una mejor solución sería "crear algún tipo de script que pudiera convertir todo eso cuando empujamos / sacamos del repositorio". Sospecho que no quiere cambiar y esta solución parece demasiado complicada y propensa a problemas de mantenimiento en el futuro (también, esto aborda solo una manifestación de un problema mayor).
¿Alguno de ustedes se ha encontrado con una situación similar en el trabajo? Si es así, ¿cómo lo manejaste? ¿Cuáles serían algunos buenos puntos para ayudar a vender a mi jefe según los estándares? ¿Sería una buena idea comenzar un movimiento de base para crear estándares de codificación, entre aquellos de nosotros que estamos interesados? ¿Estoy siendo demasiado particular, debería dejarlo ir?
Gracias por su tiempo a todos.
Nota: ¡ Gracias a todos por los excelentes comentarios hasta ahora! Para ser claros, no quiero dictar un estilo para gobernarlos a todos. Estoy dispuesto a reconocer mi forma preferida de hacer algo a favor de lo que mejor se adapte a todos. Quiero consistencia y quiero que esto sea una democracia. Quiero que sea una decisión grupal en la que todos estén de acuerdo. Es cierto que no todos saldrán con la suya, pero espero que todos sean lo suficientemente maduros como para comprometerse a mejorar el grupo.
Nota 2: Algunas personas están atrapadas en los dos ejemplos que di arriba. Estoy más interesado en el meollo del asunto. Se manifiesta con muchos ejemplos: convenciones de nomenclatura, funciones enormes que deberían dividirse, si algo entra en una utilidad o servicio, si algo es constante o inyectado, si todos usamos diferentes versiones de una dependencia o lo mismo, si un La interfaz se debe utilizar para este caso, cómo se deben configurar las pruebas unitarias, qué se debe probar unitariamente, (específico de Java) si se deben usar anotaciones o configuraciones externas. Podría seguir.