Come fare per aggiornare il codice spaghetti? Ne vale la pena? [duplicare]

0

Sto lavorando su un'applicazione web ASP.NET MVC 4 di medie dimensioni, che ha circa 2,5 anni. Circa 25-30k linee di codice. Il progetto non ha mai seguito nessuna delle buone pratiche di progettazione .NET. È una soluzione strettamente accoppiata. Non ci sono affatto interfacce.

Pensi che valga la pena aggiornare il codice legacy / spaghetti per seguire i principi SOLID e implementare alcuni modelli di progettazione? So che esiste un buon libro per lavorare con il codice legacy (non ricordo il nome effettivo).

Il problema è che il progetto è in costante crescita e il costo del refactoring cresce anche ogni volta che vengono aggiunte nuove funzionalità. Volevo passare un po 'di tempo per aggiornarlo, ma quando ho esaminato i dettagli di farlo, mi ha travolto. Ci sono così tante modifiche necessarie che non so da dove iniziare.

Qualcuno ha avuto esperienza con l'aggiornamento del codice legacy? Ne è valsa la pena spendere così tanto tempo? Qualche idea da dove cominciare?

    
posta Grentley 27.09.2016 - 13:26
fonte

1 risposta

0

Tutto dipende da quanto tempo durerà questo progetto. Inoltre, è necessario porsi una domanda importante: se lavori in una squadra, il tuo team è in grado di scrivere un codice di qualità migliore rispetto a quello attuale?

Quando arriva il momento:

Ancora poche settimane

Qualsiasi tipo di riscrittura in realtà non ha molto senso a questa scala: quando è necessaria una nuova funzione o c'è un bug da correggere, basta espandere il codice esistente.

Alcuni mesi

A questa scala, potresti prendere in considerazione la possibilità di riscrivere parti del codice che sono attivamente sviluppate e utilizzare buone pratiche nel codice scritto in futuro, ma l'intero riscrittura del codice richiederà molto tempo per valerne la pena.

Anno o più

Se il progetto è destinato a durare a lungo, penso che la riscrittura totale potrebbe essere una buona idea. Riscrivere il programma per utilizzare le buone pratiche dovrebbe richiedere molto meno tempo di quanto necessario per scriverlo inizialmente (ma ciò richiederà ancora una notevole quantità di tempo).

    
risposta data 27.09.2016 - 13:45
fonte

Leggi altre domande sui tag