论坛首页 Java企业应用论坛

团队出现这样的场景大家一般怎么处理

浏览 49215 次
精华帖 (2) :: 良好帖 (8) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-01-13  
不同模块开不同分支,提交之前合并,测试 不就解决了吗
0 请登录后投票
   发表时间:2009-01-13  
任何工具和管理方式都不能保证100%不出现冲突
先down后commit,偶尔发生冲突相关人员沟通解决即可
0 请登录后投票
   发表时间:2009-01-13   最后修改:2009-01-13
这是管理问题,开发中的持续集成管理没做好,10人以上编码团队的合理做法:
1、持续集成频率和规则约定好,如每天上班前down最新代码,下班前提交代码,下班前系统集成自动测试一遍(前提是你的TDD工作做得够好),测试结果自动给每个人发送,第二天上班后各自修改冲突的地方,一直无法修正的问题单列并跟踪;
2、项目开发计划中,必须明确公共接口、模块间对外接口、未来扩展约定等方面的问题。
3、目前的协调职责是项目主管的,不是A或C。

若是小项目,项目主管几句话协调好就OK,别上纲上线浪费精力。
0 请登录后投票
   发表时间:2009-01-13  
captain 写道
抛出异常的爱 写道
对于合并代码的工作.....
还没看到什么好工具
一般用肉眼

1.把svn全down到A的机器上.如果全down了A还能跑,那就是svn的问题
(你先去检查svn的问题,冶病冶根)
2.由A来改所有有问题的代码.
(这次是第一次出问题,如果不争一下,下回还会有,所以这回A作的对.)

恩,现在情况是,A开发完所负责的模块,在down了svn的最新代码后,发现其做的功能跑不起来,他所谓完成,仅仅指独立运行了模块对应的jsp,没有集成进项目中,这种情况依然坚持将对应代码commit到svn,我觉得不妥当。
我认为是,不管是开发还是生产环境,svn中的代码随时取下来build都是一个可以运行,至少不会出现点到某个菜单来个报错或者异常等情景。这个要求很苛刻么?



我看还是要规范svn使用、操作流程;
其次,定义什么叫开发完了,自己一个人跑着没问题,集成有问题,这能叫做完了?本身管理就存在着若干漏洞,工作态度也极其恶劣。

另外,代码随时commit,这个是毋庸置疑的。版本控制器的一个功能就是备份。如果开发机器丢失、损坏,工作全白搭了。但是,保证提交的代码能build通过,这个还是有必要的。
0 请登录后投票
   发表时间:2009-01-13  
downpour 写道
你们的项目经理用来干嘛的?构架师用来干嘛的?就任由你们在一个无法跑起来的环境中按模块开发?

PS 难道你们是开发完一个模块再一起commit一批文件的?这是什么开发习惯?

downpour说到痛处了,其实我昨天仔细想了下,问题产生主要源自一下几点:
1.产品本身:产品本身处于一个较为特殊的废旧立新阶段,有些地方需要推倒重来,有些需要对原有功能的进行扩充,但是新引入的组件或者模块必须很好地向下兼容,这部分往往需要架构师开始就做好一个全局的统筹,这立马引出了接下来的一个问题--管理
2.管理混乱:现状就是,没有周期的小组例会,没有真正意义的项目经理(为啥没有暂且不讨论了,离题。当然也没有严格意义的项目计划,进度控制、甚至一些规范的制定),没有真正意义的架构师,架构师在公司组织节点中跟普通程序员同级,提出措施也没有任何效力保证,所以接下来问题3产生只是时间问题
3.开发人员。每个开发人员经历、背景都不一样,架构师提倡的有时比开发人员想的还昏头,但是架构师的意义很大程度在于打造一种“开发秩序”:做什么、基于什么做、做的时候遵循什么、每个功能怎样划分里程碑、什么情况下代码可以提交等等,如果这些措施没有任何效力保证,一切只能是海市蜃楼。
所以有一阵开发,真的是按照downpour说的那样,开发一个功能点,update最新代码,集成,测试,没问题,提交。我也觉得这样按模块提交不妥,但是为了避免回到以前那个经常将svn(不管是开发还是生产环境)当回收站的阶段,多少算是点进步吧。
    感谢老抛提供的冒烟测试做法,包括scrum,有阵也研读过,大道理说出来,其实大家都很认可,但是有时做起来才发现,每个公司都会存在这样那样特殊的“国情”,令人困惑甚至苦恼。作为一名普通的开发人员,哪怕一时改变不了现状,心里多少得保留一份标尺。
    月经贴。
0 请登录后投票
   发表时间:2009-01-13  
你这问题严重了哈,
看来带头和弟兄们有问题,这问题不解决我看你得方案1-3都不能很好得解决这事情。
0 请登录后投票
   发表时间:2009-01-13  
luocolor 写道
因为有相同的感受,所以第一次回复。

1.让团队的成员明白,自己一定要对自己写的代码负责。
2.在任务划分的时候,尽量不要相互之间交叉。
3.在提交svn之前,首先更新工程,并在本地运行,本地通过后方可提交。
4.如果需要增加一些新的jar包(一般不会),统一由项目负责人来增加。其他成员只需更新。


同感,就目前而言,在无法短期内改善团队内部管理状况下,我只能提倡一点,其实更多是从一个程序员角度而言:自己要对自己提交的代码负责,如果我提交的代码会引起系统不稳定,不管是模块本身的问题或者原有系统接口问题,在没有就这个问题的解决方案达成任何一致的情况下,不能随意将代码提交至svn。
0 请登录后投票
   发表时间:2009-01-13  
是人的问题, 不是SVN啊什么的问题
这个问题,我们也遇到过,大家心平气和的说一声,让A改过影响C的部分,或者两个人一起改一下。
 
  看lz的文章,感觉心气不平,估计是项目内部出现了矛盾,这种矛盾,不是靠技术能解决的,还是及早在管理上解决。
0 请登录后投票
   发表时间:2009-01-13  
captain 写道
我自管本地单独运行自己的模块没问题,但是这部分模块,在整个项目环境下,确实运行不起来,或是错误不断,那么谁来定位,谁来解决最终的“集成噩梦”?



这‘谁’开始没个确定?

 

0 请登录后投票
   发表时间:2009-01-13  
hintcnuie 写道
是人的问题, 不是SVN啊什么的问题
这个问题,我们也遇到过,大家心平气和的说一声,让A改过影响C的部分,或者两个人一起改一下。
 
  看lz的文章,感觉心气不平,估计是项目内部出现了矛盾,这种矛盾,不是靠技术能解决的,还是及早在管理上解决。

楼上误会了,没有什么心气不平,仅仅是就目前内部发生的一些问题做一些反思,对事不对人,哪怕有些事情无法更改,心里不能稀里糊涂,得过且过呀。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics