首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将现有的混乱的webapp迁移到优雅的MVC的最好方法是什么?

将现有的混乱的webapp迁移到优雅的MVC的最好方法是什么?
EN

Stack Overflow用户
提问于 2008-09-02 18:39:01
回答 8查看 1.4K关注 0票数 5

我大约一个月前加入了一家新公司。这家公司的规模很小,而且有很强的“初创”感觉。我在一个由3个人组成的团队中担任Java开发人员。该公司主要向企业/商业类型的人销售服务,用于彼此之间的通信。

其中一个主要的事情我已经,并将在工作,是公司的主要网站-从那里出售服务,现有的用户登录检查他们的服务和支付他们的账单,新用户可以注册试用,等等。目前这是一个部署在Tomcat上的JSP应用程序,通过公司自己编写的持久层访问数据库。

我在这里反复不断地感到沮丧(总体上我对这份工作很满意,所以这不是一篇“哦,不,我不喜欢我的工作”的-type帖子)是这个web应用程序缺乏任何更大的设计或架构。这个应用程序由几十个JSP页面组成,在Servlets、Beans或任何其他类型的框架中几乎不存在任何逻辑。许多JSP页面是数以千计的代码,他们jsp:include其他JSP页面,业务逻辑与超文本标记语言混合在一起,经常使用的代码片段(如获得web服务连接)被剪切和粘贴而不是重用,等等,换句话说,应用程序是一团糟。

公司内部有一些关于试图重新设计这个站点以使其更适合MVC的传言;我认为开发人员和高层开始意识到,当前的意大利面条代码模式是不可持续的,也不容易扩展,无法为用户添加更多功能。高层和开发人员对完全重写东西很谨慎(这是有充分理由的,因为这意味着需要几周或几个月的工作来重写现有的功能),但我们已经讨论了(慢慢地)将站点的某些部分重写到新框架中。

将应用程序和代码库移动到这个方向的最佳策略是什么?作为一名开发人员,我如何才能真正快速地推动这项工作,而不让人觉得我是一个刚来工作的混蛋新人,告诉每个人他们写的东西都是垃圾?当你遇到这类事情时,你有没有在自己的工作经验中使用过的经过验证的策略或经验?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2008-09-02 18:43:57

你最好的办法可能就是在进行过程中慢慢重构它。我们几乎没有人拥有完全从头开始的资源,而这些东西中埋藏着如此多的业务规则。当你花了几个月的时间开发一个比你替换的应用程序更多的bug时,管理层真的很讨厌它。

如果您有机会从头开始构建任何单独的应用程序,请使用那里的所有最佳实践,并使用它们来演示它们的有效性。如果可以,将这些想法逐渐合并到旧的应用程序中。

票数 12
EN

Stack Overflow用户

发布于 2008-09-02 21:48:53

首先拿起一本Michael Feather的Working Effectively with Legacy Code。然后确定如何最好地测试现有代码。最糟糕的情况是,你只能进行一些高级回归测试(或者什么都不做),如果你幸运的话,将会有单元测试。然后,这是一个缓慢、稳定的重构,希望同时添加新的业务功能。

票数 4
EN

Stack Overflow用户

发布于 2008-09-02 18:46:11

在我的经验中,应用程序的“优雅”通常更多地与数据库设计有关。如果您有一个很好的数据库设计,包括定义良好的存储过程接口,那么无论您使用哪种平台,都会有好的应用程序代码。如果你的数据库设计很差,无论你使用哪种平台,你都将很难构建优雅的应用程序代码,因为你将不断地弥补数据库的不足。

当然,好的和差的之间有很大的空间,但我的观点是,如果你想要好的应用程序代码,首先要确保你的数据库是最好的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档