¿Qué es mejor para pequeñas correcciones de errores y características pequeñas: nombrar ramas por número de boleto o nombrarlas por descripción de función?

10

Estoy en medio de un desacuerdo (cordial, por supuesto) con mi liderazgo sobre el nombre apropiado de la rama. Esto se aplica a la corrección de errores y las ramas de características pequeñas, no a las ramas de características de larga duración. Para las ramas de funciones de larga duración, estamos de acuerdo en que los nombres legibles por humanos son mejores. Aquí están los dos puntos de vista:

Mía:

Nombrar sucursales de acuerdo con su equipo y número de boleto es mejor. Hace que sea más fácil encontrarlos en nuestro sistema de tickets y más cortos de escribir. También facilita la búsqueda de sucursales relevantes en GIT al buscar información histórica sobre un ticket.

Ejemplo:

team-name/12345
team-name/53719

Su:

Nombramiento de ramas de acuerdo a su característica / funcionalidad. Facilita el autocompletado y es más fácil de recordar que los números individuales.

Ejemplo:

team-name/fix-that-sql-bug
team-name/expand-http-parser

Un compromiso que ofrecí es este:

team-name/12345-fix-that-sql-bug

Pero no le gusta esto, ya que se mete con el autocompletado de GIT.

Si esto se basa principalmente en la opinión, no dude en darme orientación sobre cómo esto puede ser mejor para SO, pero creo que las razones que di pueden modificarse / agregarse para dar una respuesta empírica.

Codeman
fuente
En mi experiencia, el mejor nombre para las ramas para pequeñas correcciones de errores y características pequeñas a menudo era troncal (fusionar temprano, fusionar a menudo => no es necesario aislar los cambios sin una justificación suficiente). Esto, por supuesto, no se aplica a las correcciones críticas de puertos para versiones anteriores del código que se ejecuta en producción, para lo cual el aislamiento se justifica más que suficiente (y para el cual, a su vez, es natural nombrar ramas después de los tickets: después de todo, no está haciendo nada particularmente significativo como característica, simplemente está arreglando un error de producción crítico concreto con un boleto concreto)
mosquito

Respuestas:

5

En este caso, parece que ambos podrían comprometerse en una convención de nomenclatura que tenga tanto el número como la descripción:

Ejemplo:

nombre-equipo / (12345) -fix-that-sql-bug

nombre-equipo / (53719) -expand-http-parser

Realmente no hay una respuesta correcta aquí, es subjetiva dependiendo de su punto de vista.

Pero si ambos se comprometen, obtienen lo mejor de ambos mundos. Trato de tener esto en cuenta cuando tenemos desacuerdos similares en mi equipo.

Editar:

Para lidiar con el problema de autocompletar, puede poner la identificación numerada entre paréntesis, de esta manera cuando ingrese una rama que siempre escribe (para ver las ramas. Desde esta lista podrá ver la identificación numerada y la descripción. Simplemente ingrese un par de números, pestaña, y se

dmck
fuente
Estoy de acuerdo y agregué esto: creo que es una tontería estar en desacuerdo con este compromiso.
Codeman
¿Autocompletar solo funciona desde el inicio del nombre de la sucursal? ¿Puedes poner la identificación al final? No uso la funcionalidad de autocompletar, así que no estoy familiarizado con ella.
dmck
Sí, funciona de principio a fin. Si desea obtener team-name/12345-my-ticket-fix, debe escribir team-name/123TAB, esencialmente.
Codeman
@ Pheonixblade9 Vea mi edición para una posible solución, poniendo un (antes de la ID debería evitar que tenga que saber la ID al escribir el nombre de la sucursal
dmck
1

Realmente no importa, siempre y cuando haya un sistema consistente que todos estén de acuerdo y entiendan.

Sin embargo, diría que ir por número de boleto mantendría las cosas más fáciles de recordar para qué rama trabajar. Como se relacionan directamente con el número de problema en lugar de una descripción. Hacer solo la descripción parece hacer que sea más difícil recordar qué problema específico se supone que es y podría quedarse sin aliento tratando de evitar ser vago.

team-name/bug-that-has-specific-circumstances-to-occur-and-takes-alot-to-describe

Schleis
fuente
0

Nombrar algo solo para aprovechar el autocompletado es estúpido.

Estoy de acuerdo en que un enlace al rastreador de errores es importante (más importante que un buen nombre, ya que define exactamente el problema que la rama resuelve que un par de palabras no), pero al mismo tiempo, es una falla de usabilidad para esperar que las personas para saber la diferencia entre el error # 7312 y el # 7213. Además, es un error esperar que las personas obtengan los números perfectamente correctos cada vez: un día alguien se comprometerá con la rama equivocada porque interpretó mal / escribió incorrectamente 7312 por 7213. (¡Alguien en mi equipo lo hizo hoy!)

Entonces, haga ambas cosas: numere la rama y agregue una descripción de texto muy breve solo para actuar como un cheque. Primero pondría el número (autocompletar, maldita sea), ya que de todos modos aún tiene que conocer el texto de la rama (por ejemplo, "corrección de errores para el servidor" o "corrección de errores para el servidor") aún necesita saber si comienza con f o b!)

gbjbaanb
fuente