Domanda

Diciamo che lavoro in un posto in cui ogni modifica al codice sorgente deve essere associato ad una segnalazione di bug o funzionalità richiesta, e non c'è modo per ottenere che la politica di riforma.In un tale contesto, qual è il modo migliore per affrontare la rifattorizzazione del codice (che è, modifiche per migliorare il codice, ma non la correzione di un bug o aggiungere una funzionalità)?

  • Scrivi un bug-report e associare il refactoring con esso.
  • Scrivere una funzione di richiesta e di associare il refactoring con esso.
  • Sneak in rifattorizzazione mentre si lavora sul codice associato con un bug-report/funzionalità richiesta.
  • Basta non fare alcun refactoring.
  • Altri

Nota che tutte le segnalazioni di bug e le descrizioni delle funzionalità sarà visibile a gestori e clienti.

È stato utile?

Soluzione

Io voto per il "intrufolarsi in rifattorizzazione approach", che è, credo, il modo di refactoring è destinato a essere fatto in primo luogo.È probabilmente una cattiva idea per il refactoring solo per il gusto di "pulizia del codice." Questo significa che stai facendo modifiche per nessun motivo reale.Il Refactoring è, per definizione, la modifica senza l'intento di correggere i bug o aggiungere funzionalità.Se stai seguendo il principio di BACIO, ogni nuova caratteristica è bisogno di almeno alcune refactoring perché non sei veramente a pensare a come rendere più estensibile e sistema possibile per la prima volta intorno.

Altri suggerimenti

Se si sta lavorando su un blocco di codice, nella maggior parte dei casi è perché c'è un bug fix o una nuova funzionalità che richiede il blocco di codice da modificare, e il refactoring è prima del cambiamento, in modo da rendere più facile, o dopo il cambio di riordinare il risultato.In entrambi i casi, è possibile associare il refactoring con la correzione di bug o funzionalità.

Il nostro metodo di lavoro è:Ci deve essere un buon motivo per il refactoring del codice, altrimenti perché?

Se il motivo è quello di permettere un'altra caratteristica di utilizzare lo stesso codice, associare le modifiche con l'altra caratteristica richiesta.

Se è per fare qualcosa di più veloce, creare una richiesta di funzionalità per la veloce " xyz " e associare le modifiche che poi i clienti vedere che tu sei il miglioramento del prodotto.

Se è per la progettazione di un bug, il registro di bug.

Vale la pena notare che nel mio ambiente, la politica non può essere imposto.Ma astuto manager possono ottenere rapporti di cambiamenti e se non hanno un bug ichiesta di riferimento nel commettere il testo è seguito.

Consente di avere uno sguardo a ciascuna opzione:

  • Scrivi un bug-report e associare il refactoring con esso.

Se avete la sensazione che, a suo parere, il codice originale pone un rischio per la sicurezza o potenziale per crash o instabilità.Scrivere un piccolo bug report delinea il pericolo, e quindi risolvere il problema.

  • Scrivere una funzione di richiesta e di associare il refactoring con esso.

Potrebbe essere più difficile del reattore codice basato su una richiesta di funzionalità.Ma si potrebbe usare valida richiesta di funzionalità per fare questo che mi porta al prossimo punto...

  • Sneak in rifattorizzazione mentre si lavora sul codice associato con un bug-report/funzionalità richiesta.

Se c'è un valido bug o funzionalità, stato che la funzione x dovuto modificare leggermente per risolvere il bug o aggiungere la funzionalità.

  • Basta non fare alcun refactoring.

Questo sembra suggerire l'auto di sviluppo attraverso il miglioramento di un'applicazione non è consentito.Gli sviluppatori dovrebbero essere ammessi, se non, per incoraggiare explorer nuove tecniche e tecnologie.

  • Altri

Forse si potrebbe discutere il miglioramento della riunione, dando convincenti ragioni per cui i cambiamenti devono essere fatti.Quindi almeno si avrà la gestione di backup per il cambiamento, senza dover sgattaiolare nel codice con un altro metodo.

  • Altri

Se si lavora in un luogo con che tipo di inflessibile (e ridicolo), la politica, la soluzione migliore è trovare un altro lavoro!

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