2010-03-21 16 views
6

Il mio team e supporta un gran numero di applicazioni legacy che sono attualmente funzionali ma problematiche da supportare e mantenere. Tutti dipendono dal codice che la produzione del compilatore non ha ufficialmente supportato.Codice precedente: quando spostarsi

Quindi la domanda è: dovremmo lasciare il codice così com'è e rischiare che un nuovo compilatore infranga il nostro codice, o dovremmo mordere il proiettile e aggiornare tutto il codice?

+4

Se devi mantenerlo, ti suggerisco caldamente di prendere in mano il libro Lavorare in modo efficace con il codice legacy. È eccellente http://www.amazon.com/Working-Effectively-Legacy-Michael-Feathers/dp/0131177052 – TrueWill

+0

Ho già questo - hai ragione è eccellente. – Mmarquee

risposta

3

La risposta dipende totalmente dalle risorse che il vostro datore di lavoro (o voi stessi) può permettersi di effettuare il refactoring (o addirittura di riscrivere totalmente le parti grandi).

Quindi, dovresti innanzitutto stimare quanto tempo/sviluppatori puoi permetterti di refactoring dell'applicazione, quindi guarda se pensi che sarà sufficiente.

Se puoi permetterti il ​​tempo e le persone, fallo, non esitare! Stai investendo nel futuro riducendo il tempo necessario per eseguire il debug dell'applicazione, quindi sarà utile e meno costoso una volta eseguito il refactoring.

1

Dipende dalla natura delle applicazioni, solo quanto sono grandi e importanti, così come la cultura della programmazione sul posto di lavoro e le risorse disponibili.

Se le applicazioni sono abbastanza preziose per te che valgono la pena, e tu hai le risorse necessarie, quindi fare l'aggiornamento. Non lasciare che il problema persista.

Se non hanno abbastanza valore per meritare uno sforzo di aggiornamento completo, o se le risorse appropriate non sono a portata di mano, forse è possibile aggiornarle una alla volta se possibile.

Solo alcuni suggerimenti, ma anche questo dipende molto da te e dalla tua organizzazione.

1

Sembra che tu abbia un grosso debito tecnico. Questo debito aumenterà solo se fai qualcosa. Entrambe le cose che hai menzionato sono opzioni e rischiose, ma a lungo termine è un rischio che devi prendere.

L'utilizzo di un compilatore aggiornato significa semplicemente che è necessario aggiornare il codice per funzionare nel nuovo compilatore. Qualcosa è destinato a rompersi, ma poi refactoring le parti che si rompono. Questo ti permette di migrare.

L'altra opzione è di aggiornare l'intero codice base. Questo richiede tempo, durante il quale è necessario mantenere 2 copie del codice, o congelare la vecchia versione. Il congelamento della vecchia versione non è probabilmente un'opzione.

Si consiglia di utilizzare un compilatore aggiornato e di correggere le interruzioni. Ciò consente di aggiungere funzionalità, mentre refactoring e fixing della base di codice corrente.

0

riscrittura del codice può essere un passo utile per voi azienda per molti motivi:

  • è possibile utilizzare un nuovo compilatore e una piattaforma più recente
  • è possibile refactoring del codice di eliminazione le sue debolezze
  • puoi motivare la tua gente perché lo sviluppo di un nuovo codice è meglio di bug corretti in uno vecchio.

Perché non si avvia quell'attività con un numero limitato di persone, a partire dalle parti più comuni del codice? Puoi raggrupparli in una DLL e usarli anche per progetti futuri.

Problemi correlati