项目体会之 代码实现
2007-03-05 16:32
232 查看
项目已经进入最后的测试阶段,而且这一次客户要求很严格,JUnit 也要提交整个测试的报告。
由于这个项目比较大,差不多有40个人参与了这个项目,而几乎有一半的人只是临时帮忙,他们留下的代码由于一些原因,导致后面修改的人几乎不能修改,只能推倒按自己的方式重写。
这个项目的第一期是做参数维护部分。每个参数都要进行增删改查。而且每个模块都是分为三个页面。
系统的架构是:
数据库层(由Hibernate生成映射文件):XXXData.java、XXXDataId.java、XXXTemp.java
中间层:XXXDao.java
逻辑层:XXXService.java、XXXDBean.java、XXXVO.java
显示层:XXX.jsp、XXXAdd.jsp、XXXAud.jsp
其中Data、Temp、VO用于封装数据。
Dao跟数据库打交道,所有的增删改查都在Dao中完成。
Service用于处理所有的事务,而DBean只做一个数据传递者的角色,从页面收集数据,然后送到Service处理,如果Service 需要通过传过来的数据作为参数访问数据库,则Service直接调用Dao中的方法,然后Service将处理后的数据返回给DBean,DBean再将结果通过jsp显示出来。
这里查询至少有两种处理方法,用VO封装数据和用Data封装数据。计较好的一种方法是用VO封装数据,这样不用考虑Data 中的DataId,而且可以在VO中添加字段。
但是,由于我们这个项目没有真正意义上的架构师,系统的实现方式并没有统一,这就给后面维护的人员带来了很大的麻烦。特别是这个项目的PM也是第一次带队,没有多少经验。
其实这个项目所用到的技术都不难,技术含量不高。但是整个项目很大,光参数维护就有30多个模块。如果这些模块有10个以上的人完成(几乎就是这样),而最后维护的人只有1~2个,则维护起来会非常吃力。如果一开始就由一个很有经验的人写一个模板,然后每一个都按照相同的方式实现,最后出错的概率会很低,而且维护起来也会非常轻松。
我就是这两个倒霉的维护的人之一,没有办法,只能将别人的实现方式改过来,改成自己的实现方式。我们这个项目延期了两周,如果一开始就规划好,肯定不会延期这么多,下面的人也不会这么累了。
由于这个项目比较大,差不多有40个人参与了这个项目,而几乎有一半的人只是临时帮忙,他们留下的代码由于一些原因,导致后面修改的人几乎不能修改,只能推倒按自己的方式重写。
这个项目的第一期是做参数维护部分。每个参数都要进行增删改查。而且每个模块都是分为三个页面。
系统的架构是:
数据库层(由Hibernate生成映射文件):XXXData.java、XXXDataId.java、XXXTemp.java
中间层:XXXDao.java
逻辑层:XXXService.java、XXXDBean.java、XXXVO.java
显示层:XXX.jsp、XXXAdd.jsp、XXXAud.jsp
其中Data、Temp、VO用于封装数据。
Dao跟数据库打交道,所有的增删改查都在Dao中完成。
Service用于处理所有的事务,而DBean只做一个数据传递者的角色,从页面收集数据,然后送到Service处理,如果Service 需要通过传过来的数据作为参数访问数据库,则Service直接调用Dao中的方法,然后Service将处理后的数据返回给DBean,DBean再将结果通过jsp显示出来。
这里查询至少有两种处理方法,用VO封装数据和用Data封装数据。计较好的一种方法是用VO封装数据,这样不用考虑Data 中的DataId,而且可以在VO中添加字段。
但是,由于我们这个项目没有真正意义上的架构师,系统的实现方式并没有统一,这就给后面维护的人员带来了很大的麻烦。特别是这个项目的PM也是第一次带队,没有多少经验。
其实这个项目所用到的技术都不难,技术含量不高。但是整个项目很大,光参数维护就有30多个模块。如果这些模块有10个以上的人完成(几乎就是这样),而最后维护的人只有1~2个,则维护起来会非常吃力。如果一开始就由一个很有经验的人写一个模板,然后每一个都按照相同的方式实现,最后出错的概率会很低,而且维护起来也会非常轻松。
我就是这两个倒霉的维护的人之一,没有办法,只能将别人的实现方式改过来,改成自己的实现方式。我们这个项目延期了两周,如果一开始就规划好,肯定不会延期这么多,下面的人也不会这么累了。
相关文章推荐
- [Asp.net 5] DependencyInjection项目代码分析4-微软的实现(2)
- 集成开源系统实现自动化构建、代码质量评估、项目信息统计
- 基于.NET 2.0的GIS开源项目SharpMap分析手记(十四):ASP.NET2.0实现无刷新客户端回调的Callback机制及例子代码下载
- 在Eclipse中的Android项目里实现代码复用
- web 项目中的文件上传服务器的代码实现
- maven -- 学习笔记(四)实现在Eclipse用maven搭建springmvc项目(附构建步骤和详细实现代码)
- JAVA_WEB项目之Lucene检索框架实现增删查改的代码优化以及分页功能实现
- Autofac在项目中应用的体会,一个接口多个实现的情况
- Github最火开源项目-一行代码实现ofo小黄车的引导界面
- 1 redis在spring中的配置及java代码实现 2 redis在java项目中的使用
- 安卓项目之淘忆2.0的代码实现之注册功能
- [Android开发] 在项目中快速实现 列表字母排序滑动索引 功能原理以及过程代码
- OBject-C加强 代码总行数计算-项目实现
- 2017.8.8 modbus tcp 相关代码实现与 项目模式分析
- 用代码来实现来捕捉项目中的错误
- springboot项目利用devtools实现热部署,改动代码自动生效
- 通过定义BaseActivity来实现项目中代码重用,重写setContentView实现多个Activity部分UI布局相同
- 爬虫代码实现三:打通爬虫项目的下载、解析、存储流程
- 图片上传代码-旧的实现方式,项目中已删除,发表做备用
- 使用命令行+ideal 工具实现本地代码项目提交