Domanda

Che cosa si dovrebbe fare, se un collega sta modificando il codice?

Senza lo scopo di aggiungere funzionalità o correggere i bug, solo per cambiare come appare ...

È stato utile?

Soluzione

Parla con loro su di esso. Andate nella conversazione con l'atteggiamento di "Non stanno facendo questo a darmi fastidio o perché hanno una qualche forma di disturbo ossessivo-compulsivo,. Che stanno cercando di fare il mio codice migliore"

Perché si potrebbe essere sbagliato. Questo potrebbe essere un bug fix sottile e basta non macchiarlo.

In alternativa, potrebbe essere che ci sia uno standard di codifica che non sai di che si sta violando, e stanno solo correggerlo.

In alternativa, potrebbe essere che stanno cercando di infastidire, o hanno una qualche forma di disturbo ossessivo-compulsivo. Se questo è il caso, chiedere loro gentilmente di arresto, e se questo non funziona, prendere con il vostro capo.

Ma non saprete mai a meno che non si chiede.

Altri suggerimenti

io non sono così sposato a come il mio codice lo cerca me fastidio. :) cerco di imparare dai cambiamenti. Ha fatto il mio collega regolare i nomi delle variabili? Scrivi un ciclo più efficiente? Rendere il codice più leggibile?

Se non riesco a vedere come i cambiamenti hanno migliorato quello che era già lì, di solito chiedo al collega che ha apportato le modifiche che cosa la motivazione dietro di loro c'era. E 'possibile che il vantaggio non è solo ovvio per me. E se ho ragione e si sbagliano, allora forse posso spiegare il motivo per cui ho scritto il modo in cui l'ho fatto.

Se tutto il resto fallisce, ripristinare il check-in. ;)

Modifica:. Tutte le scommesse sono spenti, se il desiderio di fare modifiche estetiche introdotto un bug, anche se

IMO voi e la vostra squadra dovrebbe essere in ogni caso utilizzando una codifica standard. Se questo è il caso, allora le domande diventano 'ha il codice originale è conforme allo standard?' Se 'sì' allora il vostro collega non dovrebbero essere in contatto con il codice a meno di cambiarlo in modo funzionale. Se 'no', allora temo che il vostro collega ha tutto il diritto di rimettere in ordine il codice. Come condurre un progetto mi ritrovo a fare tutto il tempo.

Se non si utilizza uno standard di codifica poi l'intero argomento di ciò che costituisce 'buon codice' diventa troppo soggettiva. Quindi perché si dovrebbe utilizzare uno standard di codifica:)

Come uno dei quelli persone (le persone che di tanto in tanto riformattare il codice di altre persone), la ragione principale per lo faccio è la leggibilità. Alcune persone sono solo estremamente sciatto con il loro rientro o con le schede e gli spazi di miscelazione.

La cosa principale che ho l'abitudine di cambiare sta riducendo le lunghe code in modo che possa leggere tutto, senza scorrimento orizzontale. Ti rompo istruzioni complesse fino in dichiarazioni separate o chiamate di metodo riformattare / dichiarazioni alla lista un parametro per riga se lo fa, non tutti in forma comodamente su una singola linea. Devo dire anche modificare i commenti, sia per correggere gli errori in inglese o semplicemente per rendere le cose più chiare.

Sì, potevo lasciarlo solo, ma preferirei ridurre lo sforzo mentale richiesto per leggere il codice.

Che cosa si deve fare? In primo luogo, si consideri che forse questa persona sta facendo il codice migliore. Inoltre, è necessario assicurarsi di avere un certo consenso nel vostro team su come il codice deve essere formattato. Se ogni persona ha diverse abitudini sarà lento a tutti verso il basso. Se non stanno facendo il codice migliore e stanno andando contro il grano, allora avete bisogno di confrontarsi con loro su di esso. Se questo non dovesse funzionare, allora potrebbe essere necessario per ottenere altre persone coinvolte.

chiedere loro perché lo stanno facendo; una valida spiegazione può diminuire la tua frustrazione, ma si dovrebbe far loro sapere quanto ti dà fastidio. Chissà, forse hanno pensato che si stavano facendo un favore e si fermeranno quando vengono a sapere che ti offende. Oppure si può avere a che fare con qualcuno che è veramente soffre di una condizione medica.

Is s / ha permesso a? Fare i cambiamenti migliorano il codice? Se è così, ingoiare il tuo orgoglio. Se si sente la qualità del codice è peggiorata, la prenda con il collega di lavoro e chiedere loro perché hanno sentito il bisogno di modificare il codice senza alcun beneficio evidente. Se è stato fatto per dispetto, o perché la persona si sente erroneamente che sono migliore di te, e non è possibile lavorare fuori con loro, prendere con il vostro capo.

IDE come Visual Studio hanno un'opzione chiamata Format Document che formattare il codice in base alle regole l'utente ha impostato nell'IDE. Potrebbe essere il vostro collega sta usando questo (in modo automatico, senza sapere, o con l'applicazione intenzionale). Forse la loro IDE utilizza spazi invece di tabulazioni o viceversa, e queste vengono applicate automaticamente senza nemmeno sapere? Ma è necessario parlare con loro per scoprire.

Per inciso, io spesso riformattare codice di collaboratori se ovviamente non seguendo qualche tipo di schema di formattazione (cioè esso è dappertutto). E 'un modo si spera sottile che li rende preavviso. (Tuttavia, non vorrei riformattare se è stato ordinato, ma non di mio gradimento).

Se sta cambiando in modo che esso soddisfa gli standard di codifica della tua squadra, si dovrebbe seguire gli standard la prossima volta.

Se si cambia in modo tale che non segue più standard di codifica della tua squadra, lo informa quello che sta facendo male e lo hanno cambiare di nuovo.

... La tua squadra ha una serie di standard di formattazione del codice che vengono utilizzati da tutti, giusto?

I Codice di tanto in tanto di riordino scritto da colleghi disordinato (o errori di battitura fix nei commenti). Loro sanno che io sono ossessivo per la formattazione del codice e l'ordine e quindi mi hanno lasciato fare senza lamentarsi troppo. A volte anche mi danno una soda libero o biscotto.

Naturalmente questo è occasionali il lavoro, come si è rotto la funzionalità "colpa" in SVN.

Questo è anche un modo molto semplice per fare una sorta di revisione del codice (Io di solito leggere la maggior parte del codice commessa dai miei colleghi nei moduli su cui sto lavorando).

convenzioni codice è il risposta. Si dovrebbe avere un posto di lavoro. Se non lo fai, iniziare subito (un buon punto di partenza è google guida di stile ). Quando non ci sono scritti (o per lo meno comunemente conosciuto) le regole la risposta alla tua domanda è banale.

mi sento che stai pensando è offensivo per farlo ...? Ad esempio, mi sarei immediatamente risolvere questo codice

int myFunction( ) {

    int i ;
  return  0;

}

di diventare

int myFunction() {
    int i;
    return 0;
}

così ... dovrei essere punito a causa della mia azione? Nella vita reale, io in realtà sono tonnellate di tronchi SVN leggono 'Formattazione'. ; -)

Utilizzare uno strumento di controllo stile

Iniziare a utilizzare StyleCop o simili e far rispettare le regole di stile di codice e anche rendere un obbligo per tutti gli sviluppatori di usarlo. Tutto il codice sarà lo stesso senza eccezioni. E stare insieme con wiseheads per discutere le regole più appropriate per la propria organizzazione. Anche se le regole di default sono molto simili a codice del framework .net già di per se.

E 'il modo più semplice di farlo. Mi sono trovato codice di correzione di qualcun altro in uno dei miei precedenti datori di lavoro, perché questo altro ragazzo era la scrittura di codice con quantità eccessive di righe vuote e senza regole di rientro di sorta. Codice era in realtà illeggibile da uno sviluppatore media. Se StyleCop esisterebbe allora farebbe molti di noi davvero felice.

questo è un pensiero che ho visto su internet parlando di refactoring e forse spiegare perché qualcuno dovrebbe toccare il codice per renderlo migliore:

Perché?

Ci sono due ragioni principali di refactoring:

  1. Per migliorare il codice / progettazione prima costruire su di essa la parte superiore: E 'davvero difficile venire con buona codice su il primo tentativo. Il primo tentativo di realizzare qualsiasi volontà progetto iniziale ci mostrano che abbiamo misconosciuto o dimenticato una logica.

  2. Per adattarsi ai cambiamenti del requisiti. Cambiamento avviene nel sviluppo software; essere sensibili ai cambiamenti è meglio avere una buona base di codice. Abbiamo due opzioni per entrambi gli scenari, il percorso codice o refactoring. Patch per il Codice ci porterà a impossibile da mantenere il codice, e aumenterà la nostra debito tecnico, è sempre meglio al refactoring.

Quando?

  1. Prima è, meglio, come è più facile.

  2. più veloce e meno rischioso per refactoring corso di un codice di recente refactoring, piuttosto che in attesa di refactoring del codice per essere quasi completato.

Che cosa?

  1. Tutto il codice e tutto il design sono candidati per il refactoring.

  2. Una deroga per non refactoring qualcosa potrebbe essere un pezzo di lavoro del codice che è la qualità è bassa, ma a causa di essere vicino a una scadenza, preferiamo mantenere il nostro debito tecnico piuttosto che rischiare la planification.

Non vi resta che fargli fare del suo meglio, se sarebbe bello per entrambi e salvare il vostro tempo in futuro!

applausi

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