Vantaggi per lo sviluppatore di separare le richieste di pull tramite modifiche logiche?

1

Attualmente sono responsabile della revisione di uno dei codici del mio compagno di squadra per un'app Web front-end. Abbiamo stabilito un flusso di lavoro che comporta la creazione di un ramo di funzionalità in git per ogni funzione che definiamo. Supponiamo che la nostra app ti consenta di scorrere un elenco di elementi e di fare clic sui dettagli dell'elemento, quindi il tipo di funzionalità che abbiamo definito fino ad ora sono "funzionalità elenco articoli", "stile elenco articoli", "funzionalità dettagli articolo", "dettaglio articolo" stile'. Una volta completata la funzione, ho chiesto al mio compagno di squadra di inviare una richiesta di pull e quindi lavoreremo attraverso il processo di revisione prima che la modifica venga accettata.

Per me, i vantaggi di separare le richieste di pull in modifiche logiche sono che possiamo garantire che tutto il codice sia focalizzato e non ridondante, che sia facile da recensire e che possiamo sperare di evitare un accoppiamento stretto dei componenti. Il mio compagno di squadra considera questo flusso di lavoro un ostacolo al progresso perché trova molto difficile attenersi a questa separazione tra i rami delle funzionalità.

Ho una serie di domande ...

Stiamo impostando la portata delle nostre funzionalità troppo strette?

Al momento la maggior parte dei vantaggi di mantenere concentrate le richieste di pull sono benefici per la persona che controlla il codice. Ci sono benefici per il mio compagno di squadra se separa le modifiche in questo modo?

    
posta jsa 17.07.2017 - 19:45
fonte

1 risposta

3

Are we setting the scope of our features too narrow?

Penso che le funzionalità dovrebbero essere una modifica utile, verificabile e rilasciabile al sistema. Se stai diventando più piccolo di quello che penso possa essere troppo piccolo.

At the moment most of the benefits of keeping pull requests focused are benefits for the person reviewing the code. Are there benefits for my team mate if he separates changes like this?

Ci sono molti vantaggi nell'avere PR più piccoli e discreti. Eccone alcuni:

  • Può rilasciare il codice più spesso agli utenti (non è necessario attendere un prolisso PR con parti disparate) e può scegliere e selezionare le funzionalità da rilasciare (ad esempio, vogliamo rilasciare la caratteristica A ma non la funzione B. Impossibile fallo se commetti per A e B sono confusi insieme)
  • Può testare piccoli incrementi. Se il tuo ramo funzionale fallisce il test automatico / manuale, è più facile eseguire il debug se le modifiche sono inferiori.
  • Maggiore possibilità di unire le pubbliche relazioni. Meno modifiche apportate al PR, più veloci e più autoesplicative saranno le recensioni. Questo non è solo un vantaggio per il revisore, ma anche per il revisore.
risposta data 17.07.2017 - 22:54
fonte