- Oui - les applications Web sont différentes des sites Web
Je les traiterais séparément. Si vous avez une partie de votre site qui est simplement une collection de documents (qui ressemblent aux utilisateurs anonymes et aux utilisateurs connectés) - alors la meilleure méthode de structuration est très différente d'une application Web qui sert des pages dynamiquement différentes à chaque utilisateur. Divisez ces deux parties du site en deux applications / composants et abordez chaque partie différemment.
- Commencer à utiliser le contrôle de version
Une fois que votre code est sous contrôle de version, vous pouvez parcourir et, en toute confiance, supprimer tout le code inutile que vous aviez précédemment conservé `` au cas où '', etc. Je ne sais pas comment j'ai survécu sans contrôle de version.
Si quatre URL différentes pointent toutes vers la même ressource, le problème est bien plus important. Vous finissez par traiter une quantité infinie d'URL. Dès que vous le pouvez, assurez-vous que vous disposez d'une stratégie de normalisation des URL. Une fois cela fait, vous pouvez commencer à attacher des significations sémantiques aux URL et pouvoir effectuer des recherches inversées de la ressource vers l'URL. Cela vous permet de séparer «l'empreinte Web» des «ressources» du site.
Vous devez vous demander, "étant donné une URL, quelle est sa forme normalisée?". Une fois que vous l'avez épinglé. Ensuite, 50 000+ URL sur votre site peuvent être réduites, soit 2 000. ce qui est beaucoup plus facile à comprendre et à gérer dans votre esprit.
voir: http://www.sugarrae.com/be-a-normalizer-a-c14n-exterminator/
- Commencez par modéliser «ce qui est», pas «ce que vous voulez que ce soit»
Si vous ranger un site hérité, qui n'a pas été conçu avec les meilleures pratiques à l'esprit dès le départ, alors il est tentant de passer de `` désordre '' à `` la conception idéale ''. Je crois que vous devez le faire en au moins deux étapes: «mess» -> «code hérité bien modélisé» -> «nouveau code idéal avec des fonctionnalités supplémentaires». Arrêtez d'ajouter des fonctionnalités. Concentrez-vous sur la réparation du désordre ou l'encapsulation derrière une couche anti-corruption. Alors seulement, vous pourrez commencer à changer le design en quelque chose de mieux.
Voir: http://www.joelonsoftware.com/articles/fog0000000069.html
Voir: http://www.laputan.org/mud/
- La tester est une bonne idée.
Créez une suite / infrastructure de test et commencez à ajouter des tests. Mais, il est assez difficile de tester un code hérité. Alors, ne vous y attardez pas trop. Tant que vous disposez du framework, vous pouvez ajouter des tests petit à petit.
Voir: http://www.simpletest.org/en/web_tester_documentation.html
- Ayez du courage dans vos convictions
La plupart des publications sur les meilleures pratiques de développement de logiciels sont centrées sur les ordinateurs de bureau / entreprises. Pendant que votre site est en désordre, vous lisez ces livres et vous pouvez être impressionné par la sagesse qui s'en dégage. Mais n'oubliez pas que la plupart de ces meilleures pratiques ont été accumulées bien avant que le Web / SEO ne devienne important. Vous en savez beaucoup sur le Web moderne, plus que ce qui est mentionné dans les livres classiques comme POEA, Gof etc. Il y a beaucoup à tirer d'eux, mais ne jetez pas complètement votre propre expérience et vos connaissances.
Je pourrais continuer. Mais ce sont des choses que j'ai choisies lors de la refonte d'un ancien site hérité en un nouveau brillant.