Una delle risorse chiave per Extreme Programming è quella del Wiki di Ward aka Portland Pattern Repository aka C2.com . Qui è dove un certo numero di persone ha eliminato varie metodologie e le ha documentate mentre le usavano.
All'interno di questa wiki, c'è una pagina: Extreme Programming Code Reviews che ha un certo numero di collaboratori, tra cui Ron Jeffries e Kent Beck.
A questo, hanno detto:
Le revisioni del codice sono considerate importanti da molti guru di grandi processi. Hanno lo scopo di garantire la conformità agli standard e, soprattutto, di garantire che il codice sia chiaro, efficiente, funzionante e dotato di QWAN. Intendevano anche aiutare a diffondere la conoscenza del codice al resto del team.
ExtremeProgramming richiede che tutto lo sviluppo venga svolto da due ingegneri che lavorano insieme. Il codice è in realtà rivisto al volo, in misura abbastanza grande. Ciò garantisce che più di una persona abbia una conoscenza intima del codice in ogni momento.
ExtremeProgramming richiede che tutti gli oggetti abbiano UnitTest. Questi assicurano che l'oggetto funzioni e continui a funzionare come modificato.
Alcune lingue sono riflettenti. In tali lingue, UnitTest può verificare direttamente la conformità agli standard importanti. (ad esempio, gli oggetti devono implementare sia # = che #hash, o nessuno dei due.)
ExtremeProgramming practice CollectiveCodeOwnership, il che significa che molti sviluppatori dovranno esplorare gli oggetti che richiedono attenzione. Ciò tende a esercitare pressioni su coloro che producono codice non conforme agli standard. Gli sviluppatori in visita sono incoraggiati / tenuti a rendere il codice conforme quando trovano deviazioni. Ciò garantisce anche che la conoscenza del codice sia diffusa al di là della coppia iniziale di programmatori che lo hanno creato.
Pertanto, i progetti ExtremeProgramming non richiedono revisioni esplicite. Eliminali dalla tua metodologia.
C'è anche un po 'più di discussione sull'argomento lì da altri.
I punti chiave, tuttavia, sono che con la combinazione di test, proprietà collaborativa e programmazione in coppia queste cose risolvono gli obiettivi che una revisione del codice dovrebbe in genere fare come:
- Dispersione della conoscenza di ciò che viene fatto
- Un secondo (o più) set di bulbi oculari sul codice per assicurarsi che rispetti gli standard
- Verificare il corretto funzionamento del codice
Questi vengono eseguiti continuamente attraverso la programmazione di coppie e test automatici nella programmazione estrema e pertanto non è necessaria un'ispezione esplicita di Fagan .
Lettura correlata: