El problema: dos desarrolladores => tres opiniones sobre sangría, llaves en una nueva línea o no, etc.
Por lo general, trabajamos con tres o cuatro personas en nuestros proyectos y cada uno de ellos tiene su propio estilo de código. Lo sé, la solución común es acordar un estilo de código que todos deben usar, pero no quiero forzar a los programadores creativos en un traje que no les quede bien.
Entonces la pregunta es: ¿Hay alguna manera de permitir que cada programador viva su propio estilo, pero que tenga una base de código común dentro del repositorio? Pienso en algún complemento git / svn / whatever, que cambia entre el estilo personal y el común al finalizar la compra y confirmar. Me parece que la parte difícil de este enfoque es admitir diferencias correctas entre las versiones de un archivo
fuente
Respuestas:
No, tendrás que hacer un estándar. Si tiene un cambio en el miembro B del equipo (ya sea con una herramienta IDE automatizada o manualmente), escribió un montón completo de código del miembro del equipo A, que se confirmará y se mostrará como un cambio.
Esto es algo que casi todos los equipos enfrentan y los estándares son "forzados" por esta misma razón. Te sugiero que sigas los estándares de las autoridades lingüísticas como referencia y los adoptes para adaptarlos a tu equipo.
Tener un estilo de codificación coherente también ayudará a mantener el proyecto y reducirá la barrera de entrada para las nuevas personas que trabajan en el código.
fuente
No, deberá definir un estándar de codificación (preferiblemente uno que ya exista) y que sus desarrolladores se adhieran a él. Ser un programador profesional significa que puede adaptarse a cualquier estándar de codificación que se use en el proyecto en el que está trabajando.
fuente
go fmt
. Ver golangtutorials.blogspot.fr/2011/06/…SÍ, puede funcionar siempre y cuando los estilos sean todos sensibles y la gente no cambie el código de otras personas para que coincida con sus preferencias y / o mezcle estilos en un solo archivo de código.
No es ideal, pero no es diferente de heredar el código antiguo creado con un "estándar" diferente al suyo y tener que integrarlo con su base de código.
Entonces, si tiene que hacerlo, algunas pautas:
fuente
La respuesta corta es no.
Si bien las opiniones deben valorarse en el trabajo, especialmente en un trabajo basado en el conocimiento, como el Desarrollo de software, los desarrolladores deben darse cuenta de que una opinión es solo una opinión y que están allí para escribir software y no discutir sobre qué estándar de sangría de línea es el mejor.
El objetivo de un documento de estándares debe ser hacer cumplir / sugerir un conjunto de estándares / convenciones de codificación comunes que aborden
Los documentos de estándares ayudan a asegurar que el código sea fácil de leer, mantener y consistente en sus convenciones.
Esto es invaluable al revisar el código antes de registrarse, depurar el código de otra persona o modificar el código varios años después de que el desarrollador original haya abandonado la empresa.
Normalmente, al crear un documento de Estándares de codificación, reviso los estándares de la industria para el lenguaje que estoy usando (C, C #, SQL), uso los estándares más apropiados, hago circular los comentarios entre los desarrolladores más importantes / influyentes, incorporo los comentarios cuando corresponde. liberar el documento.
fuente
En teoría, es posible reformatear automáticamente el código antes de comprometerlo con su sistema de control de versiones.
Sin embargo , hay un gran problema: las herramientas de formateo automático de código no son 100% confiables. Por lo tanto, podría introducir problemas en su código con este sistema. En mi mente, eso mata la idea. ¡Siempre es más importante tener un código funcional que un código con el estilo adecuado!
Si el proyecto está dividido en compartimentos, y la mayoría de las partes del código tienden a ser "propiedad" de programadores individuales, entonces puede estar bien permitirles usar sus propios estilos (dentro de lo razonable). Sin embargo, si varias personas trabajan con frecuencia en el mismo código, probablemente sea necesario aplicar un estilo.
Aquí hay una discusión similar sobre Stack Overflow .
fuente
El reformateo automático de código unidireccional puede ser una solución viable si usted:
Ninguno de esos es realmente fácil de hacer en muchos casos, ¡así que considera elegir tus batallas aquí! He visto a los equipos hacer esto con éxito para un proyecto C # /. NET donde el reformateo ya se realizó en la PC del desarrollador, por lo que es posible en algunas circunstancias.
fuente
absolutamente puedes. Se trata de no sudar las cosas pequeñas.
El único estándar que importa es "mantener sus cambios con el mismo estilo que el código existente". Siempre que pueda ajustarse a un estilo de codificación que no sea el preferido, puede trabajar con cualquier estilo de codificación.
Entonces, ¿cuál es el problema de trabajar en 3 estilos diferentes dentro de la misma empresa? Sus desarrolladores necesitan entender esto, que escribir código de la manera que les gusta es encontrar su código, pero una vez que hacen cambios a un archivo diferente que usa un estilo diferente, tienen que mantener ese estilo (o realmente se verá mal) . No se permite volver a formatear (o simplemente volverán a formatear continuamente y las diferencias de scm serán inútiles) (y si hace esto, entonces debería emplearse un formateo automático).
Lo más probable es que, una vez que comiencen con esto, lleguen a un consenso sobre qué estilo usar o su estilo se desviará en su mayor parte. Si van a ser infantiles al respecto y reformatearán el código de los demás todo el tiempo, entonces será hora de descargar un estándar de Internet y exigir que lo usen. Es posible que desee hacer esto de todos modos, solo para agitarlo en sus caras como una carta de "jugar bien o no".
fuente