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