La mia domanda precedente ha a che fare con come recensioni anticipate di codice tra gli sviluppatori. Qui sono interessato a come dovrebbe essere eseguita una sessione di revisione del codice, in modo che sia il revisore che i recensori si sentano a loro agio.
Ho già fatto alcune revisioni del codice e l'esperienza è stata molto spiacevole. Il mio precedente manager sarebbe venuto da noi, su una base ad hoc, e ci ha detto di spiegargli il codice. Dato che non aveva molta familiarità con la base di codice, ogni volta che mi chiedeva di spiegare il mio codice, mi trovavo a passare una quantità enorme di tempo a spiegare la struttura più basilare del mio codice. Di conseguenza, ogni revisione sarebbe durata troppo a lungo e il processo lascerebbe entrambi esausti.
Una volta che ho finito di spiegare il mio lavoro, avrebbe continuato a sollevare problemi con esso. La maggior parte dei problemi sollevati sono di natura estetica (ad esempio, non utilizzare region
per questo blocco di codice, modificare il nome della variabile da xxx
a yyy
anche se la versione successiva ha ancora meno senso e così via) . Dopo aver provato questo processo per pochi round, abbiamo scoperto che la sessione di revisione non ha portato molti benefici a nessuno di noi e ci siamo fermati.
Come faresti per rendere ogni revisione del codice un'esperienza naturale, divertente, stimolante di pensieri, bug-fixing e di apprendimento reciproco? Inoltre, con quale frequenza esegui le revisioni del codice, non appena viene eseguito il check-in del codice? Assegni un orario fisso ogni settimana per fare questo? Quali sono le linee guida che segui durante le tue revisioni del codice?
Infine, la motivazione: cosa voglio che la mia squadra esca dalla revisione del codice? Risposta: Voglio che i membri del mio team siano in grado di coprirsi a vicenda. Questa è la motivazione principale. Seconda motivazione: voglio che tutto il codice sia facile da leggere / modificare / estendere, in modo che le nuove funzionalità possano essere aggiunte facilmente.