¿Hay algún problema o consideración inherente al levantar un ticket de la parte posterior de una revisión, en lugar de fallar?
No inherentemente Por ejemplo, la implementación del cambio actual puede haber descubierto un problema que ya estaba allí, pero que hasta ahora no era conocido / aparente. Fallar el boleto sería injusto ya que lo fallarías por algo no relacionado con la tarea realmente descrita.
en la revisión descubrimos una función
Sin embargo, supongo que la función aquí es algo que fue agregado por el cambio actual. En este caso, el boleto debe fallar ya que el código no pasó la prueba de olor.
¿Dónde dibujarías la línea, si no donde ya la has dibujado? Claramente, no cree que este código sea lo suficientemente limpio como para permanecer en la base de código en su forma actual; Entonces, ¿por qué considerarías darle un pase al boleto?
Si no se revisa el código, el boleto no se cerrará en este sprint y daremos un pequeño golpe de moral, porque no podemos pasar el boleto.
Me parece que indirectamente está argumentando que está tratando de darle un pase a este boleto para beneficiar la moral del equipo, en lugar de beneficiar la calidad de la base de código.
Si ese es el caso, entonces tienes tus prioridades mezcladas. El estándar de código limpio no debe modificarse simplemente porque hace que el equipo sea más feliz. La corrección y limpieza del código no depende del estado de ánimo del equipo.
El refactor es un pequeño trabajo, y se haría en el próximo sprint (o incluso antes de que comience) como una pequeña historia de medio punto.
Si la implementación del ticket original causó el olor del código, entonces debe abordarse en el ticket original. Solo debe crear un nuevo boleto si el olor del código no se puede atribuir directamente al boleto original (por ejemplo, un escenario de "gota que colmó el vaso").
Los recursos que puedo encontrar y he leído reseñas detalladas de códigos como 100% o nada, por lo general, pero creo que eso generalmente no es realista.
Pasar / fallar es inherentemente un estado binario , que es inherentemente todo o nada.
Creo que a lo que te estás refiriendo aquí es más que interpretas que las revisiones de código requieren un código perfecto o de lo contrario fallan, y ese no es el caso.
El código no debe ser impecable, simplemente debe cumplir con el estándar razonable de limpieza que emplea su equipo / empresa. La adhesión a ese estándar es una elección binaria: se adhiere (pasa) o no (falla).
Según su descripción del problema, está claro que no cree que esto se adhiera al estándar de código esperado y, por lo tanto, no debe aprobarse por razones ulteriores, como la moral del equipo.
De lo contrario, la tarea se ajusta a la definición de hecho.
Si "hace el trabajo" fuera el mejor punto de referencia para la calidad del código, entonces no habríamos tenido que inventar el principio de código limpio y buenas prácticas para comenzar: el compilador y las pruebas unitarias ya serían nuestro proceso de revisión automatizado y no necesitaría revisiones de código o argumentos de estilo.