ci sono problemi o considerazioni inerenti alla raccolta di un biglietto dal retro di una recensione, invece di fallire?
Non intrinsecamente. Ad esempio, l'implementazione dell'attuale modifica potrebbe aver portato alla luce un problema che era già lì, ma fino ad ora non era noto / apparente. Fallire il biglietto sarebbe ingiusto in quanto lo falliresti per qualcosa non correlato all'attività effettivamente descritta.
nella recensione scopriamo una funzione
Tuttavia, suppongo che la funzione qui sia qualcosa che è stato aggiunto dalla modifica corrente. In questo caso, il biglietto dovrebbe essere fallito poiché il codice non ha superato il test degli odori.
Dove disegneresti la linea, se non dove l'hai già disegnata? Chiaramente non pensi che questo codice sia sufficientemente pulito per rimanere nella base di codice nella sua forma attuale; quindi perché dovresti prendere in considerazione l'idea di dare un biglietto al pass?
Fallire la revisione del codice, in modo che il biglietto non si chiuda in questo sprint, e prendiamo un piccolo colpo sul morale, perché non possiamo passare il biglietto.
Mi sembra che tu stia sostenendo indirettamente che stai provando a dare a questo biglietto un pass per il morale della squadra, piuttosto che per la qualità della base di codice.
Se è così, allora hai le tue priorità miste. Lo standard del codice pulito non dovrebbe essere modificato semplicemente perché rende la squadra più felice. La correttezza e la pulizia del codice non dipendono dall'umore della squadra.
Il refactor è un piccolo pezzo di lavoro e verrebbe svolto nel prossimo sprint (o anche prima che inizi) come una storia minuscola, a mezzo punto.
Se l'implementazione del ticket originale ha causato l'odore del codice, è necessario indirizzarlo nel ticket originale. Dovresti creare un nuovo biglietto solo se l'odore del codice non può essere attribuito direttamente al biglietto originale (ad esempio, uno scenario "paglia che ha rotto il dorso del cammello").
Le risorse che riesco a trovare e ho letto recensioni di codici di dettaglio come 100% o niente, di solito, ma trovo che di solito non sia realistico.
Pass / fail è intrinsecamente uno stato binario , che è intrinsecamente tutto o niente.
Ciò a cui ti riferisci qui, penso, è più che interpreti le revisioni del codice come richiedono un codice perfetto o altrimenti falliscono, e non è così.
Il codice non dovrebbe essere immacolato, dovrebbe semplicemente rispettare il ragionevole livello di pulizia che il tuo team / azienda impiega. L'adesione a quello standard è una scelta binaria: aderisce (passa) o no (fallisce).
Sulla base della tua descrizione del problema, è chiaro che non pensi che questo aderisca allo standard di codice previsto, e quindi non dovrebbe essere superato per ulteriori motivi come il morale della squadra.
Altrimenti l'attività si adatta alla definizione di done.
Se "ottiene il lavoro fatto" fosse il miglior punto di riferimento per la qualità del codice, allora non avremmo dovuto inventare il principio del codice pulito e delle buone pratiche - il compilatore e i test delle unità sarebbero già il nostro processo di revisione automatizzata e non avresti bisogno di recensioni di codice o argomenti di stile.