大约一个月前,我加入了一家新公司。该公司规模较小,具有很强的“初创”感。我在一个由 3 人组成的团队中担任 Java 开发人员。该公司主要向企业/商业类型的人出售服务,用于相互交流。
我过去和将来要做的主要事情之一是公司的主要网站 - 从中出售服务,现有用户登录以检查他们的服务并支付账单,新用户可以注册试用等。目前这是一个部署在 Tomcat 上的 JSP 应用程序,可以通过公司自己编写的持久层访问数据库。
我在这里遇到的反复和日益增长的挫败感(而且我对这份工作总体上很满意,所以这不是“哦,不,我不喜欢我的工作”之类的帖子)是缺乏任何更大的设计或此 Web 应用程序的体系结构。该应用程序由几十个 JSP 页面组成,几乎不存在 Servlet 或 Beans 或任何其他类型的框架中的逻辑。许多 JSP 页面是数千行代码,它们jsp:include
是其他 JSP 页面,业务逻辑与 HTML 混合在一起,经常使用的代码片段(例如获取 Web 服务连接)被剪切和粘贴而不是重用等。换句话说,应用程序是一团糟。
公司内部一直在尝试重新设计该站点以使其更适合 MVC。我认为开发人员和高层开始意识到这种当前的意大利面条式代码模式是不可持续的,或者很容易扩展为用户添加更多功能。高层和开发人员对完全重写东西持谨慎态度(有充分的理由,因为这意味着重写现有功能需要数周或数月的工作),但我们已经讨论过(慢慢地)重新编写将网站的某些区域写入新框架。
使应用程序和代码库向这个方向移动的最佳策略是什么?作为一名开发人员,我如何才能真正帮助快速推进这项工作,而不是看起来像一个刚入职并告诉所有人他们写的东西都是废话的混蛋?当您遇到此类事情时,您在自己的工作经历中是否使用过任何经过验证的策略或经验?