- 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 hanno lo stesso aspetto sia per gli utenti anonimi sia per gli utenti registrati), il metodo migliore per strutturarlo è molto diverso da un'app Web che serve pagine dinamicamente diverse a ciascun utente. Suddividi queste due parti del sito in due app / componenti e affronta ogni parte in modo diverso.
- Inizia a utilizzare il controllo della versione
Una volta che il tuo codice è sotto controllo di versione, puoi passare e, con sicurezza, rimuovere tutto il codice non necessario che avevi precedentemente conservato "nel caso" ecc. Non so come sono sopravvissuto senza il controllo della versione.
Se quattro diversi URL puntano tutti alla stessa risorsa, il problema è molto più grande.
Finisci per gestire una quantità infinita di URL. Appena possibile, assicurati di avere una politica di normalizzazione degli URL in atto. Una volta fatto, puoi iniziare ad associare significati semantici agli URL ed essere in grado di fare ricerche inverse da resource-in-url. Ciò ti consente di separare la "impronta web" dalle "risorse" del sito.
Devi chiedertelo, "dato un URL qual è la sua forma normalizzata?". Una volta che ti sei bloccato. Quindi 500000+ url sul tuo sito possono essere ridotti a 2.000. che è molto più facile da comprendere e gestire nella tua mente.
vedi: link
- Inizia modellando "cosa è", non "cosa vuoi che sia"
Se stai riordinando un sito legacy, questo non è stato progettato fin dall'inizio con le migliori pratiche, quindi è tentato di passare da "un disastro" a "il design ideale". Credo che sia necessario farlo in almeno due passaggi: "mess" - > "codice legacy ben modellato" - > 'nuovo codice ideale con funzionalità aggiunte'. Smetti di aggiungere funzionalità. Concentrati sulla riparazione del casino o incapsulandolo dietro un livello anti-corruzione. Solo allora, puoi iniziare a cambiare il design in qualcosa di meglio.
Vedi: link
Vedi: link
- Metterlo sotto test è una buona idea.
Crea una suite di test / framework e inizia ad aggiungere test. Ma è abbastanza complicato testare qualche codice legacy. Quindi, non ti agitare troppo. Finché hai il quadro lì,
puoi aggiungere test poco alla volta.
Vedi: link
- Abbi coraggio nelle tue convinzioni
La maggior parte della letteratura sulle migliori pratiche di sviluppo del software è centrata sul desktop / Enterprise App Centric. Mentre il tuo sito è in disordine leggi questi libri e puoi essere ammirato dalla saggezza che emana da loro. Ma, non dimenticare che la maggior parte di questa best practice è stata accumulata in tempi precedenti prima che il web / SEO diventasse importante. Conosce molto sul web moderno, più di quanto si pensi nei libri classici come POEA, Gof, ecc. C'è molto da imparare da loro, ma non abbandonare completamente la propria esperienza e conoscenza.
Potrei andare avanti. Ma quelle sono alcune cose che ho scelto quando refactoring un vecchio sito legacy in uno nuovo brillante.