Dovresti fare revisioni formali del codice?
Assolutamente
Proprio come una breve nota, ho molto poca esperienza con la programmazione accoppiata, ma non credo che le recensioni sarebbero in conflitto con questi metodi.
Vorrei introdurre due forme di revisione del codice:
recensioni del codice peer
Anche se la programmazione accoppiata funziona per te, mai fa male per ottenere un altro set di occhi sul codice. I vantaggi di questo sono:
- Ottiene una serie di nuovi occhi sul codice, qualcuno che può avere una conoscenza più intima delle aree della base di codice che tu (e / o il tuo partner) potrebbero non essere familiari. Ciò può esporre problemi a sorpresa.
- Ti fa (la coppia) riconvalidare la tua soluzione prima dell'invio. Poiché il revisore non sa nulla di ciò che hai scritto, devi spiegarlo nella sua interezza. Ciò può esporre casi limite che non avevi pensato o logica non valida.
Le recensioni dei peer code (nel mio mondo) sono condotte prima della ogni sottomissione. Non sono sicuro di come questo si riporti nel mondo della programmazione accoppiata.
recensioni di codici di gruppo
Si verificano meno frequentemente rispetto alle recensioni di peer code. Generalmente tirerei il mio gruppo (o una sottosezione del mio gruppo) in una sala riunioni per una revisione informale del codice. Generalmente sceglievo un codice scritto da una persona a caso sul team, codice preferibilmente scritto da zero - il codice refactored non espone problemi come il codice nuovo.
Assicurati che tutti sappiano che queste recensioni sono non pensate per emberass e non sono utilizzate per riflettere il rendimento. Si limitano a garantire che gli standard di codifica del team vengano seguiti e per aiutare tutti a diventare ingegneri migliori e, quindi, a diventare più utili per il team (e ulteriore crescita di carriera, ecc.) - e assicurarsi che questo è il vero intento delle recensioni. Se qualcuno sospetta qualcosa di diverso, questi saranno temuti e meno produttivi.
Vorrei passare il codice in qualche modo in modo informale, lasciando che chiunque nella stanza indichi diverse soluzioni che potrebbero avere o difetti logici che incontrano. Questo dovrebbe essere più di una discussione di gruppo di un leader seduto lì che dice a tutti come dovrebbero codificare.
Ho scoperto che l'utilizzo di questi due metodi aumenta la velocità con cui gli ingegneri progrediscono e diminuisce considerevolmente il conteggio degli errori:)