- Sì - Le applicazioni Web sono diverse dai siti Web
Li tratterei separatamente. Se hai una parte del tuo sito che è semplicemente una raccolta di documenti (che sembrano uguali sia per gli utenti anonimi che per gli utenti connessi), il metodo migliore per strutturarlo è molto diverso da un'app Web che offre pagine dinamicamente diverse per ogni utente. Dividi queste due parti del sito in due app / componenti e affronta ciascuna parte in modo diverso.
- Inizia a utilizzare il controllo versione
Una volta che il tuo codice è sotto il controllo della versione, puoi passare attraverso e, con sicurezza, rimuovere tutto il codice non necessario che avevi precedentemente conservato "per ogni evenienza" ecc. Non so come sono sopravvissuto senza il controllo della versione.
Se quattro URL diversi puntano tutti alla stessa risorsa, il problema è molto più grande. Alla fine hai a che fare con una quantità infinita di URL. Non appena è possibile, assicurarsi di disporre di un criterio di normalizzazione URL. Una volta fatto, puoi iniziare ad associare significati semantici agli URL ed essere in grado di effettuare ricerche inverse da risorsa a url. Ciò consente di separare la "stampa web" dalle "risorse" del sito.
Devi chiederti "dato un url qual è la sua forma normalizzata?". Una volta che hai bloccato questo. Quindi è possibile ridurre di oltre 50.000 URL sul tuo sito, ad esempio 2.000. che è molto più facile da comprendere e gestire nella tua mente.
vedi: http://www.sugarrae.com/be-a-normalizer-a-c14n-exterminator/
- Inizia modellando "ciò che è", non "ciò che vuoi che sia"
Se stai riordinando un sito legacy, che non è stato progettato pensando alle migliori pratiche fin dall'inizio, allora sei tentato di passare da "un pasticcio" a "il design ideale". Credo che sia necessario farlo in almeno due passaggi: 'pasticcio' -> 'codice legacy ben modellato' -> 'nuovo codice ideale con funzionalità aggiunte'. Smetti di aggiungere funzionalità. Concentrati sul riparare il disordine o incapsularlo dietro uno strato anticorruzione. Solo allora puoi iniziare a cambiare il design in qualcosa di meglio.
Vedi: http://www.joelonsoftware.com/articles/fog0000000069.html
Vedi: http://www.laputan.org/mud/
- Metterlo alla prova è una buona idea.
Crea una suite / framework di test e inizia ad aggiungere test. Ma è abbastanza complicato testare un codice legacy. Quindi, non ti rompere troppo. Finché hai il framework lì, puoi aggiungere test poco a poco.
Vedi: http://www.simpletest.org/en/web_tester_documentation.html
- Abbi coraggio nelle tue convinzioni
La maggior parte della letteratura sulle migliori pratiche di sviluppo software è incentrata sul desktop / Enterprise App Centric. Mentre il tuo sito è in disordine, leggi questi libri e puoi avere soggezione della saggezza che trasuda da loro. Ma non dimenticare che la maggior parte di questa best practice è stata accumulata in tempi prima che il web / SEO diventasse importante. Sai molto sulla rete moderna, più di quanto menzionato nei libri classici come POEA, Gof ecc. C'è molto da prendere da loro, ma non scartare completamente la tua esperienza e conoscenza.
Potrei andare avanti. Ma quelle sono alcune cose che ho scelto quando ho rifatturato un vecchio sito legacy in uno nuovo lucido.