Domanda davvero aperta qui. Non sto cercando una risposta .. solo un consiglio. Qualsiasi esperienza passata che le persone hanno avuto con il ri-factoring dei sistemi legacy che potrebbero trasmettere sarebbe sorprendente. Ecco alcune informazioni sul software che sto per ri-fattore (ti rabbrividire!):
- Applicazione Web
- Basato su database (MySQL)
- PHP4 e PHP5
- La maggior parte del codice è PHP4
- Quasi tutto il codice è procedurale
- Il codice che è PHP5 non è OO .. esempio: 10.000 righe + file con una classe e una funzione
- Variabili globali utilizzate ovunque
- Non è stato utilizzato alcun controllo sorgente per scrivere il software (puoi vedere dai commenti nel codice)
- Grandi quantità di ripetizione del codice
- Nessuna separazione di dubbi: l'interfaccia utente e la logica sono combinate ovunque
- L'applicazione si basa sull'ordine delle tabelle del database
- Pochi commenti al codice
- 250.000 righe di codice
- Applicazione in uso intensivo
Fondamentalmente, il software è il nostro prodotto principale e io sono stato assunto per fare un importante ri-fattore (tra le altre cose). È un compito enorme e non posso semplicemente immergermi e sistemare tutte le piccole cose .. Ho bisogno di una strategia globale. Ho scritto alcuni script per riordinare i rientri, rimosso il codice commentato ovunque e ho trasformato il progetto in un repository, ma ora è il momento di fare il vero.
Ho una specie di idea vaga ma non sono sicuro di come procedere. Potrei in qualche modo lasciare il codice corrente da solo e scrivere su di esso uno strato di software che astrae tutto l'orribile. Sarebbe bello se il nuovo livello fosse una sorta di architettura MVC. Allo stesso tempo, andrei nel codice corrente, rimuoverò le ridondanze perché altrimenti il nuovo livello userebbe comunque codice cattivo, quindi il codice potrebbe rallentare ancora di più.
Come puoi vedere .. hai bisogno di alcuni indizi / suggerimenti / consigli / consigli / esperienze!
Grazie mille:).