Domanda

Questa domanda ha già una risposta qui:

Per quali problemi è giusto modificare il codice scritto da un collega di lavoro? Per quali problemi è sbagliato?

È stato utile?

Soluzione

Quando è giusto

Quando la modifica migliora la funzionalità del programma o rende il codice più leggibile per sé / mantenibile.

Quando è sbagliato

Quando la modifica danneggia la funzionalità del programma o non serve a nulla oltre a fornire l'editor con busywork.

Altri suggerimenti

Chi è il proprietario del codice? L'azienda o lo sviluppatore?

Se il proprietario è (come al solito) l'azienda, non ci dovrebbe essere alcuna differenza di modifica codice scritto da voi o da un collega (a meno che una politica di manutenzione codice specifico).

Modifica di un altro codice dovrebbe accadere come si evolve codice e dovrebbe essere incoraggiata come una pratica in modo da avere la proprietà del codice collettivo.

Il codice deve essere di proprietà di tutta la squadra; avendo il codice che viene modificato solo da (e quindi solo veramente capito da) uno sviluppatore è una cattiva idea. Se non si è nel codice di apportare modifiche se stessi, probabilmente non lo capisco. In attesa fino a quando le altre foglie di sviluppo della società o si ammala è il momento sbagliato per imparare il codice.

Avendo unit test descritti in posizione e con controllo di origine dovrebbe significare questa pratica è a basso rischio.

Incoraggiare tutta la squadra a seguire "regola boy scout" di zio Bob e sempre cercando di controllare il codice un po 'più pulito di averlo estratto è un buon modo per garantire che i soggiorni codice pulito nel corso del tempo e non lo fa, incombano in un illeggibile, pasticcio impossibile da mantenere.

L'unico lato negativo di questo è che se questa pratica si trasforma in edit war, dove gli sviluppatori sono costantemente tornando gli uni degli altri cambiamenti. Questo è probabilmente un segno che non avete deciso su uno standard di codifica per qualunque sta causando la guerra di modifica, quindi questo sarebbe una buona occasione per creare uno.

direi che ha ragione quando ciò che si sta lavorando richiede la modifica. E 'proprio quando le è stato assegnato a correggere un bug e il bug è in quel codice.

Se il codice non ha nulla a che fare con quello che si sta lavorando, ma deve essere riparato, poi portarlo fino al cavo di squadra e fargli assegnare una priorità per il fissaggio e assegnare una persona (non può essere voi ) per risolverlo. Se lui dice di non spendere il vostro tempo su di esso, allora è worng di fissare in quel punto. Stai per essere pagato per lavorare su ciò che è stato assegnato a lavorare, non ciò che si desidera lavorare. Con tutti i mezzi tirarlo su che ha bisogno di essere cambiato, ma la definizione di priorità è il lavoro del direttore non la tua.

E 'sbagliato cambiare il codice di lavoro solo a causa di una preferenza personale.

E 'sbagliato quando non si capisce quale sia il problema del codice è stato progettato per correzione o anche capire il codice. Solo perché non funziona per le vostre esigenze non significa che non rompere qualcosa se muck con esso. Se avete bisogno di cambiare per fare quello che stai facendo il lavoro, poi andate a parlare con il programmatore oreginal sul perché ha fatto quello che ha fatto e ciò che potrebbe essere influenzata se si cambia per soddisfare le vostre esigenze. MAI codice di cambiamento non si capisce a meno che non sta funzionando. Questo non significa che non si mai correggere il codice, significa solo che fino a quando si prende il tempo di capire a fondo, non si cambia, soprattutto se si tratta di codice già in produzione.

Quando è diritto di modificare il codice scritto da un collega di lavoro?

Questo dipende da quale fase il prodotto è in. Se il prodotto è già stabile e già rilasciato non vorrei apportare le modifiche che non sono necessari a meno che non ci fosse un grande cambiamento necessario per davvero brutto codice.

Per quali problemi è giusto modificare il codice scritto da un collega di lavoro?

io non nitpick di codifica formattazione. Si dovrebbe refactoring quando il codice è eccessivamente complessa e deve essere cambiato in ogni caso o sta causando problemi e mai sembra funzionare bene.

Come StackExchange o wiki, si dovrebbe essere pronti a condividere il codice e permettere a chiunque di modificarlo fino a quando i cambiamenti si inserisce nel disegno globale e gli obiettivi. Ma porsi una domanda: perché qualcuno dovrebbe essere necessario modificare il codice di qualcun altro se non è per il debug? Avete tagliato in modo chiaro il progetto in pezzi sufficientemente per consentire la parallelizzazione di codifica attraverso più programmatori allo stesso tempo?

Se, allo stesso tempo, per le diverse funzionalità, si è costretti a modificare lo stesso codice come il tuo collega di lavoro, v'è un intreccio di codice e cattivo "separazione degli interessi". Si dovrebbe rivedere il vostro disegno per consentire ad ogni programmatore di lavorare su diverse parti del codice di base del software.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
scroll top