2009-10-09 13 views
1

Quelle est la meilleure façon de mettre à jour un projet avec des modifications de conception majeures ... en termes de fichiers de projet (je suppose)? J'ai récemment déplacé mon site Web d'ASP.NET vers ASP.NET MVC et il était évident que les changements étaient si importants qu'ils nécessitaient une réécriture complète. Maintenant, je me prépare à passer à MVC 2, pour profiter de plus de fonctionnalités du nouveau cadre, et encore une fois je cours dans des barrages routiers qui me poussent à faire fondamentalement une autre réécriture complète. Je voudrais bien sûr éviter cela si possible parce que le site a pris de l'ampleur au fil du temps. Cependant, j'ai bien documenté les décisions de conception lors de la dernière réécriture, et il ne faudrait que quelques semaines pour réécrire.Concernant les principales modifications apportées à un projet

Quand avez-vous besoin de prendre la décision d'abandonner le projet en cours et apporter tout aux nouvelles technologies? Si vous créez un nouveau fichier de projet, quel est le meilleur moyen de gérer la migration de ce qui n'a pas besoin de changer depuis l'ancien projet?

Répondre

3

Vous faites une ré-écriture lorsque le coût de l'entretien et l'extension du code de base est supérieur au coût de la mise au point d'un nouveau. Cependant, la façon dont vous déterminez les coûts est très subjective.

+0

+1 excellent. mais vous devriez ajouter "l'emportent sur le coût de débogage/écriture d'un nouveau" je pense. – griegs

0

Il est très rare que je change de technologie sur un projet existant car il est très difficile de justifier le coût pour un client. Je ne pouvais qu'imaginer dire à un client, à la fin de ce processus de 2-3 semaines/mois, si vous êtes très, très chanceux, vous aurez exactement ce que vous avez maintenant, mais la loi des moyennes, vous serez plus en retard que il aura de nouveaux bugs.

Si un nouveau module est en cours d'écriture, alors cela peut utiliser les nouvelles technologies, mais les choses existantes est presque laissé tel quel.

1

Vous dites « mon site » qui me fait penser que vous êtes le propriétaire de ce site Web personnel, par opposition à l'existence d'un client payant qui en est propriétaire.

Si c'est le cas, je dirais que vous parlez peut-être un peu trop sérieusement. Ce type de site Web est idéal pour vous permettre d'essayer de nouvelles technologies afin de mieux comprendre les avantages et les inconvénients.

Donc, même si vous avez besoin de réécrire complètement utiliser MVC2, cela reste un exercice très précieux. C'est encore plus précieux si vous travaillez également sur d'autres sites Web appartenant à des clients.

Les choses bonnes/mauvaises que vous apprenez tout en travaillant sur votre site personnel vous donnent une grande expérience pratique et aider à décider de l'appliquer aux clients des sites Web réels. Bien sûr, vous pourriez même apprendre, sans un client qui vous souffle au cou, qu'une réécriture complète pour passer de Web MVC à MVC2 est en fait une mauvaise idée (du moins pour le moment).

+0

Ceci est mon site personnel. Il a commencé comme un projet senior à l'université, mais comme c'était pour un passe-temps passionné, je l'ai continué après l'école. J'aime que tu aies suggéré de le faire juste pour l'expérience (+1). –