Sto lavorando ad una startup di robotica su un team di copertura del percorso e dopo aver inviato una richiesta di pull, il mio codice viene revisionato.
Il mio compagno di squadra, che è stato nel team per più di un anno, ha fatto alcuni commenti al mio codice che suggeriscono che faccio molto più lavoro di quanto ritenga necessario. No, non sono uno sviluppatore pigro. Adoro il codice elegante che ha buoni commenti, nomi di variabili, rientri e gestisce correttamente i casi. Tuttavia, ha in mente un diverso tipo di organizzazione che non sono d'accordo.
Fornirò un esempio:
Avevo passato un giorno a scrivere casi di test per una modifica a un algoritmo di ricerca della transizione che avevo creato. Mi ha suggerito di gestire un caso oscuro che è estremamente improbabile che accada - in realtà non sono sicuro che sia nemmeno possibile che si verifichi. Il codice che ho creato funziona già in tutti i nostri casi di test originali e alcuni nuovi che ho trovato. Il codice che ho creato supera già le nostre 300+ simulazioni che vengono eseguite ogni notte. Tuttavia, per gestire questo caso oscuro mi occorrerebbero 13 ore che potrebbero essere meglio spesi cercando di migliorare le prestazioni del robot. Per essere chiari, il precedente algoritmo che stavamo usando fino ad ora non ha gestito questo caso oscuro e non una volta, nei report 40k che sono stati generati, si è mai verificato. Siamo una startup e abbiamo bisogno di sviluppare il prodotto.
Non ho mai avuto una revisione del codice prima e non sono sicuro di essere troppo polemico; dovrei essere tranquillo e fare ciò che dice? Ho deciso di tenere la testa bassa e apportare il resto anche se non sono assolutamente d'accordo sul fatto che sia stato un buon uso del tempo.
Rispetto il mio collega e lo riconosco come programmatore intelligente. Non sono d'accordo con lui su un punto e non so come gestire il disaccordo in una revisione del codice.
Sento che la risposta che ho scelto soddisfa questo criterio di spiegare come uno sviluppatore junior possa gestire il disaccordo in una revisione del codice.