Processo di revisione del codice efficace per la manutenzione del software

3

Ho lavorato con un codice mantenuto per anni. Stiamo usando la clear-case come controllo della versione. Inviare il codice per la revisione e ottenere il conteggio del codice (per le metriche del progetto) è solitamente doloroso.

Qual è il modo migliore per condurre la revisione del codice per il software di manutenzione? Quanto efficace possiamo condividere il codice per la peer review (capisco che sia strettamente associato ai controlli di versione che stiamo usando). Qualunque standard noto o best practice? Come posso ottenere metriche come il conteggio del codice ecc.?

    
posta sarat 27.07.2011 - 10:02
fonte

3 risposte

5

Processo di revisione del codice

Il modo più efficace con cui eseguo attualmente la revisione del codice è il seguente.

  1. Crea un ramo / biforcazione e etichettalo con il numero del tuo ticket
  2. Chiedi al tuo sviluppatore di controllare tutto il codice contro quel ramo
  3. Quando è il momento di eseguire la revisione del codice, uno sviluppatore o un peer senior unisce il ramo alla sua copia di lavoro corrente del trunk e quindi esegue una revisione del codice.
  4. Se la revisione passa e il ramo incontra la qualità e il problema del ticket, le modifiche vengono unite al tronco.
  5. In caso contrario, i problemi vengono contrassegnati con lo sviluppatore originale in una discussione 1 su 1 e il ticket può riposizionare l'elenco per la rilavorazione e la revisione oppure viene rilasciato dal rilascio se non c'è abbastanza tempo per la rielaborazione.

Le metriche non funzionano come credi che facciano

Catturare il tipo di metrica "linee di codice" è un Anti-Pattern comune e non dovrebbe avere un posto reale nel processo di revisione del codice.

Ci sono ottimi motivi per cui alcuni tipi di metriche semplicemente non funzionano. Joel Spolsky ha scritto alcuni fantastici articoli sulle metriche e sulle metriche anti-pattern, e in realtà si tratta di ciò che desideri ottenere dalle tue metriche.

Per quanto riguarda le metriche, un grande sviluppatore può scrivere una riga di codice che funzioni più velocemente ed è più efficiente di uno sviluppatore mediocre che scrive 20 righe di codice per fare la stessa cosa.

Le metriche che dovrebbero interessarti a parte la pianificazione basata sull'evidenza sono le metriche relative alla qualità del codice . Pacchetti come NCover eseguono la tua build giornaliera e quindi funzionano abbastanza bene con il processo di revisione del codice precedente.

    
risposta data 27.07.2011 - 10:52
fonte
1

Il modo più semplice per condurre revisioni del codice è quello di rivedere le recensioni. Quando sei pronto a impegnare il tuo codice, chiedi a un collega di venire a recensire il tuo codice con te. Quindi quando si commette il collega aggiunge una firma di sorta al messaggio di commit per indicare che hanno rivisto il codice e approvato. Questo è molto leggero - non genera molto sovraccarico. Gli svantaggi sono:

  • Uno dei tuoi colleghi deve essere disponibile per eseguire la revisione del codice, di persona
  • Devono abbandonare ciò che stanno facendo per rivedere il codice, oppure devi aspettare con il commit
  • È facile "falsificare" la firma
  • Non c'è traccia cartacea della revisione del codice a meno che tu non prenda appunti e li allega al commit in qualche modo.

Questa, per me, è "la cosa più semplice che potrebbe funzionare" per la revisione del codice.

    
risposta data 27.07.2011 - 10:23
fonte
0

Le revisioni del codice sono inutili a meno che tu non riesamini il codice impegnato (le modifiche possono essere fatte e saranno fatte tra revisione e commit). Le recensioni di oltre 20 o 30 righe sono alquanto discutibili, il che significa che il processo deve essere leggero. Tuttavia (dato il tuo caso in Clear e preoccupato per le metriche sospetto che tu stia bene qui) per molte aziende le misurazioni sono più importanti dei risultati effettivi, quindi devi essere in grado di mostrare che hai fatto misurando qualcosa, ed è difficile ottenere significato misurazioni da recensioni.

Guarda come GIT e GERRIT lavorano insieme, sembrano fornire un buon equilibrio.

    
risposta data 27.07.2011 - 12:23
fonte

Leggi altre domande sui tag