¿Qué nivel de calidad en el historial de confirmación puedo / debo esperar / aplicar?

7

Trabajé como un desarrollador solitario durante mucho tiempo. Durante este tiempo, desarrollé una forma de formular y ordenar mensajes de confirmación: primero refactorice, describa exactamente la razón de la confirmación en el mensaje, enlace al rastreador de problemas, ... Incluso hay una secuencia de comandos para crear varios tipos de registro de cambios (público, interno de la empresa, desarrollador) del historial de confirmaciones. De esta manera, siempre sé cuándo y por qué el código en el código base cambió al estado actual.

Con el advenimiento de la reorganización interactiva y el reordenamiento de compromiso, puedo asegurarme fácilmente de que la historia (y, por lo tanto, la documentación) se ve exactamente como quiero que sea. El código malo ni siquiera entra en la historia. Por lo tanto, cada compromiso tiene su propósito bien definido.

Me tomó años evolucionar esta práctica, que considero una buena. (¿Lo es?) Sin embargo, aplicar esto a los cambios de código de otra persona (es decir, reescribir el historial de los cambios de otra persona) es, para mí, una tarea que requiere mucho tiempo. He intentado esto para identificar cambios innecesarios o incluso defectuosos. El tamaño total del parche en cuestión es un poco demasiado grande para ser revisado como una sola unidad, y hay algunos cambios de código cuestionables.

De hecho, resulta que no puedo permitirme controlar el código base como un "dictador". Simplemente cuesta demasiado tiempo. Así que me gustaría perder algo de control mientras mantengo una buena calidad del código. Actualmente, simplemente no veo cómo lograr esto.

¿Qué tan limpio debe ser el historial de un proyecto? ¿Qué formato y granularidad para los compromisos debo requerir? ¿Debo pedirle al desarrollador que reformatee la historia (por ejemplo, para dividir un compromiso), incluso si esto requeriría educación sobre cómo dividir un compromiso después del hecho? ¿Debo enseñar a los desarrolladores a trabajar en ramas de funciones ? ¿Pueden las enviar plantillas para obtener ayuda? ¿Con qué frecuencia deben revisarse los cambios realizados por los demás?

    
pregunta krlmlr 11.03.2012 - 02:39

4 respuestas

3

Como ya no estás volando solo, debes preguntar primero a tu equipo.

No hay una respuesta correcta a esta pregunta, depende no solo de su producto, sino de su equipo. Formule un conjunto de reglas, lo mejor para hacer cumplir las importantes (por ejemplo, las confirmaciones de código deben tener un número de seguimiento) y fomente un estilo para todo lo demás.

Necesitará aprender a confiar en su equipo y aceptar que no siempre es incorrecto hacer cosas diferentes a las que usted desea.

    
respondido por el mattnz 11.03.2012 - 05:50
4

Depende de cuán buena sea la información en su rastreador de problemas.

Si cada cambio individual se documenta en el rastreador de problemas y se vincula al problema, entonces no es de vital importancia que el cambio se describa también en el historial de confirmación. Por supuesto, una sola línea siempre ayuda. Pero mientras el curioso pueda encontrar una descripción del cambio, más las razones del cambio, siguiendo el enlace al rastreador de problemas, creo que es suficiente para la mayoría de los propósitos.

Por supuesto, si ocasionalmente tiene cambios que no entran en el rastreador de problemas; o si la información en el rastreador de problemas es deficiente, entonces es mucho más importante contar con un historial de confirmación realmente detallado.

    
respondido por el Dawood ibn Kareem 11.03.2012 - 03:16
4

Por lo general, es más fácil evitar la edición del historial. Se puede hacer incluso en un entorno de equipo, pero requiere mucho trabajo por poco beneficio e introduce un riesgo de pérdida de datos.

Tendrá algunas confirmaciones que están incompletas y no se compilan, pero eso está bien siempre y cuando estén en una rama de desarrollo. Agregue el comentario de la documentación de características cuando fusione la rama de desarrollo en el maestro, que solo contiene el código completado.

    
respondido por el Tom Clarkson 12.03.2012 - 01:45
0

Piensa en los objetivos de alto nivel. Dale a tu equipo esos objetivos. No les digas cómo lograrlo.

Por ejemplo, si el objetivo de alto nivel es documentar las características del producto, dígales que lo hagan. Si su forma automatizada es la mejor forma en que pueden pensar, la elegirán. Si hay una mejor manera, ellos elegirán esa.

Esto no solo logra el objetivo al menos tan bien como lo hace con usted, sino que hace que el equipo sea más feliz porque están tomando decisiones.

    
respondido por el Words Like Jared 15.10.2018 - 21:45

Lea otras preguntas en las etiquetas