通过几年的实际工作,也参与了规模不一的多个项目,但是项目组的开发效率一直不高,一直都在思考这个问题的症结。最近换了一个公司,由于刚刚去,也不能修改比较核心的代码,就给他们修改bug,在修改其中一个比较有共性的问题时接触了很多他们原来写的代码,发现代码中充斥着很多完全相同或者几乎完全相同的代码,最典型的就是获得数据库连接以及关闭数据库连接的代码,有的类会封装一个自己用的方法,有的就是干脆每次重复,有的更是有相关的方法但是代码的其它地方却没有用,这个现象给了我比较大的触动。
现在仔细想想,其实影响一个项目组的开发效率的很大的因素就是代码共享和知识共享太缺乏了。
但是,代码共享和知识共享又确实是比较困难的事情,共通的功能如何使用,需要什么约束条件,能够完成什么功能等等都需要有比较完善的文档,而一旦这样的功能多起来以后你要从这些功能中找到需要的功能有时候确实是比较困难的,特别是有些功能去查是否有现成的代码所花费的时间可能比自己写一个还多。
根据我的经验,有几个地方注意一下就可以比较好的解决:
共通的内容要易于使用和理解,例如定义的方法名要比较贴切。
要写比较详细的说明文档,例如给大家发邮件或者发布到内部使用的论坛系统中。
在公布之前经过充分的测试,否则使用的时候总是有各种问题会导致大家不敢再用共通的代码。
对于类似的功能有其共通的代码,例如使用struts的系统有自己的系统的顶层的BaseAction,在这个BaseAction中定义系统中的子类需要实现的业务逻辑方法入口,而BaseAction要实现structs要求的execute方法,并完成所有的共通任务,例如是否登录的检查,session是否超时等
业务功能要比较少的关心杂项共通功能,例如定义logger,获取数据库连接,关闭数据库连接,异常处理等,这些功能都可以定义在BaseAction或者是系统的顶层基类中。
而且通过使用共通功能也可以很大程度提高系统的质量,因为通过这些年的实践发现,很多新人由于开始不理解系统的要求,很多地方就是先抄袭别人甚至完全拷贝别人的代码,如果别人的代码是有问题的,那么在没有出问题之前是很难被自己发现的,而到了发现的时候已经积重难返了,而通过顶层类的封装,底层的类的空间就狭窄了,犯错误的可能性就小多了,因为很多系统的共通要求在顶层类中已经实现了。
| 机电之家版权所有Copyright©2005-2009
Jdzj.Com All Rights
Reserved. 主办运营:杭州滨兴科技有限公司 办公地址:浙江省杭州市滨江区伟业路1号高新软件园9-409 邮编:310032 投放广告:0571-87774297 申请家家通:0571-87774298 图文传真:0571-87774298 电子邮箱:ete@zj.com 更多联系方式>> |
协办指导:浙江省杭州市高新区机电一体化学会 依托基地:杭州市高新技术创业服务中心 (省级高新技术创业服务中心) 企业资质:浙江省科技企业 浙江省杭州市科技型孵化企业 网站公共备案号:浙ICP备05041018号 经营许可证号:浙B2-20080178 |
| 机电之家工程管理网所分享的工程管理,合同与档案管理,质量与成本管理,进度管理,风险管理,施工与现场管理,工程监理, 项目管理知识,竣工验收管理,工程技术,工程施工方案,施工工艺流程,施工技术方法,工程施工设计,工程案例, 成功工程案例,失败工程案例,工程论文,软件工程论文,工程项目管理论文,工程造价论文,工程材料论文工程, 监理论文,工业工程论文,等都是来自会员自行公布。如果有任何侵犯您权益的地方,请联系我们,我们将马上进行处理。 | |