Non mi definirò uno sviluppatore superstar, ma uno relativamente esperto. Cerco di mantenere la qualità del codice a un livello elevato e cerco sempre di migliorare il mio stile di codifica, cerco di rendere il codice efficiente, leggibile e coerente oltre a incoraggiare il team a seguire un pattern & metodologie per garantire la coerenza. Capisco anche la necessità di un equilibrio tra qualità e velocità.
Per raggiungere questo obiettivo, ho presentato al mio team il concetto di revisione tra pari. Due pollici in su in github pull-request per un'unione. Grande - ma non secondo me senza intoppi.
Spesso vedo commenti di recensioni da parte degli stessi colleghi come -
- Sarebbe positivo aggiungere uno spazio dopo
<INSERT SOMETHING HERE>
- Linea extra indesiderata tra i metodi
- L'interruzione completa dovrebbe essere utilizzata alla fine dei commenti nei docblock.
Ora, dal mio punto di vista - il revisore guarda superficialmente all'estetica del codice - e non sta davvero eseguendo una revisione del codice. La recensione del codice estetico mi appare come una mentalità arrogante / elitaria. Manca di sostanza, ma non si può davvero discutere troppo perché il revisore è tecnicamente corretto . Preferisco di gran lunga vedere meno dei suddetti tipi di recensioni e più recensioni come segue:
- Puoi ridurre la complessità ciclomatica di ...
- Esci presto ed evita if / else
- Riassunto la query del DB in un repository
- Questa logica non appartiene veramente qui
- Non ripeterti: astratto e riutilizzi
- Che cosa accadrebbe se
X
fosse passato come argomento al metodoY
? - Dov'è il test dell'unità per questo?
Trovo che siano sempre gli stessi tipi di persone che danno i tipi di recensioni di cosmetici, e gli stessi tipi di persone che a mio parere danno le recensioni dei pari a "Quality & Logic based".
Cosa (se esiste) è l'approccio corretto alla revisione tra pari. E ho ragione di essere frustrato con le stesse persone che in pratica sfiorano il codice cercando errori di ortografia e amp; difetti estetici piuttosto che effettivi difetti del codice?
Se ho ragione - come potrei fare per incoraggiare i colleghi a cercare i difetti nel codice in equilibrio con il suggerimento di ritocchi cosmetici?
Se non sono corretto, per favore mi illumini. Esistono regole empiriche per ciò che costituisce effettivamente una buona revisione del codice? Ho perso il punto su quali recensioni del codice sono?
Dal mio punto di vista - la revisione del codice riguarda la responsabilità condivisa per il codice. Non mi sentirei a mio agio nel dare il pollice in su al codice senza affrontare / controllare logica, leggibilità e funzionalità. Inoltre non mi preoccuperei di bloccare un'unione per un solido pezzo di codice se notassi che qualcuno ha omesso un punto fermo in un blocco doc.
Quando ripasso il codice, spendo forse tra 15-45 minuti per 500 Loc. Non riesco a immaginare queste recensioni superficiali che richiedono più di 10 minuti se questa è la profondità della recensione che stanno eseguendo. Inoltre, quanto valore ha il pollice in su dal recensore superficiale? Sicuramente questo significa che tutti i pollici non hanno lo stesso peso e ci deve essere forse un processo di revisione in 2 passaggi. Un pollice per recensioni approfondite e un secondo pollice per la "lucidatura"?