一尘不染

将现有凌乱的Web应用程序迁移到优雅的MVC的最佳方法是什么?[关闭]

jsp

我大约一个月前加入了一家新公司。该公司规模较小,并且具有很强的“启动”感觉。我作为Java开发人员正在其他3个团队中工作。该公司主要向企业/商务人士出售服务,以用于彼此交流。

我一直(并将继续从事)工作的主要内容之一是公司的主要网站-
销售该服务的网站,现有用户登录以检查其服务并支付账单,新用户可以注册进行试用等等。目前,这是一个部署在Tomcat上的JSP应用程序,可以通过公司本身编写的持久层访问数据库。

我在这里遇到的一遍又一遍又越来越多的挫败感(我对整体工作很满意,因此这不是“哦,不,我不喜欢我的工作”这类文章)是缺少任何较大的设计或此Web应用程序的体系结构。该应用程序由数十个JSP页面组成,几乎没有Servlet,Bean或任何其他类型的框架中存在的逻辑。许多JSP页面是数千行代码,它们是jsp:include其他JSP页面,业务逻辑与HTML混合在一起,常用的代码片段(例如获得Web服务连接)被剪切并粘贴而不是重用,等等。换句话说,该应用程序是一团糟。

公司内部有一些谣言,他们试图重新设计该站点,以使其更适合MVC。我认为开发人员和更高级别的人已经开始意识到,这种当前的意大利面条代码模式是不可持续的,或者很难扩展以为用户添加更多功能。高层和开发人员对完全重新编写事物持谨慎态度(有充分的理由,因为这将意味着数周或数月的工作来重新编写现有功能),但是我们已经(缓慢地)重新讨论了一些将网站的某些区域写入新框架。

使应用程序和代码库朝这个方向发展的最佳策略是什么?作为开发人员,我如何才能真正地,迅速地推进这一步,而又不会像一个新手一样突然进入工作并告诉所有人他们写的东西是胡扯?遇到这种事情时,您是否在自己的工作经历中使用了行之有效的策略或经验?


阅读 254

收藏
2020-06-10

共1个答案

一尘不染

您最好的选择可能是在进行过程中慢慢重构它。几乎没有我们拥有从头开始完全需要的资源,而这些东西中隐藏了许多业务规则。当您花几个月的时间开发一个比替换的错误多的错误的应用程序时,管理层真的很讨厌它。

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

2020-06-10