关于产品开发中代码管理的问题

zpjava 2010-07-08 04:46:17
开发一个产品,周期可能比较长,人员流动比较大,功能不断的完善,后来的人在完善新功能时,如果需要从数据库里取数据,会自己新增加一些方法,实际上这些方法,在以前的代码中都是有的,让新来的人完全熟悉代码也是不现实的,这样会造成里面的冗余代码很多,垃圾代码也很多。后面的人再来维护起来,如果不是完全熟悉的人,是不敢轻易去删除代码的,大家在这方面有什么好的方法去管理这些代码吗,特别是开发周期长,人员流动比较的大的开发
...全文
120 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
zpjava 2010-07-10
  • 打赏
  • 举报
回复
我想很多的公司多有代码冗余的情况,或多或少,除非有人天天盯着检查
zpjava 2010-07-09
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 dahaidao 的回复:]
要有规范,
设计文档,
开发文档,
不管是新来的,还是原来的,这些都要熟悉。

代码方面,要有人检查的,白盒测试的人要负责。
[/Quote]
这个实施起来比较难吧,特别是在赶工期的情况下,是要速度还是要规范,这个取舍就比较难了吧
dahaidao 2010-07-09
  • 打赏
  • 举报
回复
要有规范,
设计文档,
开发文档,
不管是新来的,还是原来的,这些都要熟悉。

代码方面,要有人检查的,白盒测试的人要负责。
zpjava 2010-07-09
  • 打赏
  • 举报
回复
在大公司工作过的人,过来说下,你们那怎么管理代码的,怎么防止冗余代码
码YouMe 2010-07-09
  • 打赏
  • 举报
回复
版本控制
开发文档
kString 2010-07-09
  • 打赏
  • 举报
回复
我认为是体制的问题。我曾经遇到过1次,一个项目用2个分页,只因为各自都觉得自己的用舒服。
当前公司里德开发模式是 写好调通实现功能就可以。
据说日本的开发说明写的就很详细,高宽,颜色都规定。
关键原因还是咱们企业的设计做的不足。
zpjava 2010-07-09
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 kurama_mail 的回复:]
规范文档中规范化项目结构。
比如我的数据库有表a和b 需要操作
那么我规范所有对表a的操作在原子接口A下定义和实现,
所有对表b的操作在原子接口B下定义和实现,
所有对表a,b的关联操作在原子接口A_B下定义和实现。
如果有个业务需要操作a表再操作b表那么就定义业务接口X的实现去调用原子接口A和B,事物的控制交给业务接口X的实现类。(规定业务接口之间不允许互相调用,原子接口之间不允许互相……
[/Quote]
我们现在的模式也是这样做的一个表对应一个接口类,不过,两张表关联的没有对应的接口类,以前有很多地方对应的不是很规范,后来人看起来比较麻烦,索性就自己写了,现在随便看看那各功能模块都会发现有冗余的代码,真的不真的,照这样发展下去,产品会怎么样
kurama_mail 2010-07-09
  • 打赏
  • 举报
回复
规范用的好只会提高速度,不会影响速度。
kurama_mail 2010-07-09
  • 打赏
  • 举报
回复
规范文档中规范化项目结构。
比如我的数据库有表a和b 需要操作
那么我规范所有对表a的操作在原子接口A下定义和实现,
所有对表b的操作在原子接口B下定义和实现,
所有对表a,b的关联操作在原子接口A_B下定义和实现。
如果有个业务需要操作a表再操作b表那么就定义业务接口X的实现去调用原子接口A和B,事物的控制交给业务接口X的实现类。(规定业务接口之间不允许互相调用,原子接口之间不允许互相调用,业务接口只允许调用原子接口,不允许直接调用DAO接口)
模式: 业务接口→业务接口实现类→原子业务接口→原子业务接口实现类→DAO接口

这只是我以前使用的一种规范方式。仅仅供参考。
wjfjava 2010-07-08
  • 打赏
  • 举报
回复
养成写注释的习惯,注释写详细点,新来的员工熟悉起来也快
zpjava 2010-07-08
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zwp125 的回复:]
so easy!
模块化开发,新来人员只需要熟悉他所用到的模块,把模块细分就好了!
另外就是编码规范!
规范优于配置!
[/Quote]
新来人员只需要熟悉他所用到的模块, 新来的人可能只做一个模块吗, 让他熟悉原来的代码估计比写代码还要难,谁都愿意写新的代码
zpjava 2010-07-08
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wqkjj 的回复:]
引用 1 楼 kurama_mail 的回复:

完善的版本文档(包括开发规范文档,数据库设计文档,详细项目设计文档),各逻辑流程图。

加上:
需求文档、需求变更文档、版本发布(变更)说明、程序设计说明。。。。。。
不过这些目前在绝大部分公司里面是不现实的。
[/Quote]
文档可能是最好的,我们曾经尝试过,在详细设计里面把类名,方法名,包括参数都定义好,但是,写完代码后不可能去一个类一个类的检查,最后还是发现里面有很多冗余,垃圾的代码,如果类多了,可能这个功能已经有实现,但是后来人由于对项目不熟悉,懒的找了,又自己写个,唉,项目都快成垃圾桶了
辣木籽 2010-07-08
  • 打赏
  • 举报
回复
so easy!
模块化开发,新来人员只需要熟悉他所用到的模块,把模块细分就好了!
另外就是编码规范!
规范优于配置!
小霍夫 2010-07-08
  • 打赏
  • 举报
回复
说句良心话。文档有时候是做样子的.[当然不是所有公司都这样]!

制度不完善,管理不科学.coder素质不高!所以难以实现.


反正是计划赶不上变化!

当然这些说得有点消极.要做好项目一定每个细节都不能马虎.


个人力量大小,公司制度这么多年了都无法改变.孤掌难鸣呀..!

wqkjj 2010-07-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 kurama_mail 的回复:]

完善的版本文档(包括开发规范文档,数据库设计文档,详细项目设计文档),各逻辑流程图。
[/Quote]
加上:
需求文档、需求变更文档、版本发布(变更)说明、程序设计说明。。。。。。
不过这些目前在绝大部分公司里面是不现实的。
cooperSun 2010-07-08
  • 打赏
  • 举报
回复
等待解决...
kurama_mail 2010-07-08
  • 打赏
  • 举报
回复
完善的版本文档(包括开发规范文档,数据库设计文档,详细项目设计文档),各逻辑流程图。

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧