In una buona squadra, dovresti avere una coda di compiti di sviluppo assegnati a te in un issue tracker .
In questo modo, mentre aspetti un revisore, potresti ( dovrebbe ) lavorare sull'attività successiva in attesa in quella coda. Una volta che ti sei abituato a lavorare in quel modo, si aprirà un'opportunità per fare rivedere le modifiche in "lotti", riducendo così i ritardi.
- Se non si dispone di una "coda", discuterne con il proprio manager o, meglio ancora, con il revisore. Se la tua squadra non ha un tracker di problemi ragionevolmente conveniente per cose del genere, considera di studiare bacheche di lavoro o opportunità di lavoro interne alla società per trovare una squadra migliore (potresti anche discuterne con il manager / revisore ma non aspettarti che questo aiuti - < a href="http://www.joelonsoftware.com/articles/fog0000000043.html" title="L'articolo" Joel Test "spiega perché è importante - vedi # 4 nella lista"> mancanza di un buon tracker di problemi è spesso un sintomo di qualcosa di gravemente rotto in una squadra).
I want to be free when coding. How could I gain the trust for development freedom?
Per scoprirlo, è necessario prima capire lo scopo delle revisioni del codice. Hai menzionato fiducia - questa è una buona "approssimazione", ma non del tutto accurata.
- Ad esempio, in uno dei miei progetti recenti lo sviluppo è stato svolto da un mini team di me e del mio collega. Ci siamo completamente fidati e rispettati l'un l'altro - ma nonostante ciò abbiamo rivisto il 100% del codice. Lo stavamo facendo perché questo ci consentiva di trovare e correggere rapidamente alcuni bug e, anche molto , perché le recensioni non richiedevano molto tempo e non bloccavano il nostro lavoro.
Come vedi, sarebbe più accurato pensare alle revisioni del codice in termini di sforzi investiti per prevenire certi rischi . In una buona squadra, puoi aspettarti una sorta di comprensione condivisa su come "bilanciare correttamente" questo. Nota che non esiste un giusto equilibrio valido per tutte le dimensioni, dipende in gran parte da un progetto: rischio e impatto dei bug in un il software mission critical si differenzia naturalmente da quello in un'applicazione non critica.
Utilizzando il tuo esempio, puoi aspettarti di "bloccare le recensioni" purché gli sforzi investiti dal tuo revisore siano giustificati trovando bug e miglioramenti che è meglio correggere prima di applicare il codice.
Probabilmente si aspettano che con la pratica e con le indicazioni ricevute alle recensioni migliorerai la codifica, in modo che trovino sempre meno problemi da risolvere prima del commit. Non appena scoprono che il tuo codice è "abbastanza sicuro" da consentire misure di prevenzione dei rischi meno ingombranti, puoi aspettarti che il processo cambi, ad esempio a recensioni dopo il commit .
A seconda del progetto, a un certo punto il tuo codice potrebbe essere considerato abbastanza sicuro da saltare le recensioni, lasciando scoperta la scoperta dei bug ai tester (ma non necessariamente ciò accadrà, vedi il mio esempio sopra).