È accettabile il refactoring del codice di un collaboratore?

2

Quando lavori con altre persone in un progetto, è accettabile rifattorizzare parte del loro codice?

Sto lavorando con un altro sviluppatore e noto un sacco di codice duplicato. Per rendere le cose più facili per me stesso, localizzerò la logica duplicata o noteremo uno schema simile che può essere usato. Quindi inserirò il codice ripetuto in un ciclo, ASCIUGANDO il codice.

Lavoro con Rails, quindi DRY è un principio importante. Farò anche piccole modifiche al codice. Ad esempio, cambierei cose come

unless @user.nil?

a

if @user

Sto lavorando anche al progetto, e trovo che blocchi di codice ripetuti siano davvero fastidiosi, quindi prendo l'iniziativa per rifattorizzare il suo codice. È accettabile?

    
posta DrunkDog 11.02.2015 - 16:24
fonte

2 risposte

7

Sì, ma ti consiglio di cambiare come procedere per farlo.

Invece di refactoring da soli, fai una revisione del codice. Lavora sul refactoring e sulla pulizia del codice come gruppo. Sai chiaramente che ci sono modi migliori per scrivere il codice, quindi condividi! Forse il tuo collega imparerà e inizierà a scrivere codice migliore. In futuro, forse non avrai bisogno di spendere così tanto tempo per migliorare il suo codice.

La chiave qui è mentore il tuo collega. La maggior parte del software è costruita da una squadra. C'è molto di più in una squadra che semplicemente fare in modo che ognuno faccia il proprio lavoro da solo. Collaborare, lavorare insieme e aiutarsi a vicenda per diventare sviluppatori migliori.

    
risposta data 11.02.2015 - 16:50
fonte
6

Risposta breve: No.

Risposta più lunga: se i tuoi refactoring sono veramente miglioramenti, allora ti stai impegnando in comportamento Codependent - stai sostenendo cattive abitudini e amp; non dandogli l'opportunità di migliorare.

Se i tuoi refactoring sono banali, probabilmente stai sprecando il tuo tempo e / o rischiando la possibilità di cadere in un ciclo di modifica in cui rifattori il codice in A, lo rifattano in B, quindi lo aggiusti di nuovo a A e così via.

Per lo meno, parla almeno una volta con il tuo collaboratore di questo problema.

Alcune persone possono migliorare le loro pratiche e quindi risolvere il problema. Altri potrebbero usarti come rete di sicurezza e continuare a scrivere codice sciatto (o, peggio, diventare ancora più sciatto sapendo che li stai sostenendo). Alcune anime immature possono offendersi quando modifichi il "loro" codice.

    
risposta data 11.02.2015 - 16:49
fonte