论坛首页 综合技术论坛

团队开发中代码安全的问题

浏览 33611 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-03-07  
richard 写道
不采用'所有人对所有代码负责'就不团结了吗?那么没有xp的'所有人对所有代码负责'之前呢?

责任对应利益。项目如果失败,不管是哪块代码出的问题,你的利益受不受损?if so,你有没有责任去帮忙(当然,你有能力的前提下)?如果有人说项目失败了不关我事,我只管写好我这块代码,那好办,第一时间把他踢出去。
0 请登录后投票
   发表时间:2006-03-08  
robbin 写道

你限制每个人无法看到别人代码的理由和意义又是什么呢?


这个主要是出于避免系统被外泄的问题。
因为每个人都可以看到所有的代码,也就是手上拥有的是一个完整的系统。如果有人把系统泄漏到公司外,无法追查到底是谁的责任,因为只要是系统开发人员都有这个可能性。

如果每个人只能看到自己负责的代码(这个可以是自己开发的,或者是与自己模块相关的),仅有少部分人(比如PM,TL等)能看到全部代码,那么追查责任的范围就会小些。

但是因为大家在开发的时候都要在自己的机器上运行整个系统,所以得拿到全部代码才可以。

想知道到底有没有什么好的办法能实现上面的要求,同时也不会对开发效率造成太大的影响。
0 请登录后投票
   发表时间:2006-03-08  
vaja 写道
robbin 写道

你限制每个人无法看到别人代码的理由和意义又是什么呢?


这个主要是出于避免系统被外泄的问题。
因为每个人都可以看到所有的代码,也就是手上拥有的是一个完整的系统。如果有人把系统泄漏到公司外,无法追查到底是谁的责任,因为只要是系统开发人员都有这个可能性。

如果每个人只能看到自己负责的代码(这个可以是自己开发的,或者是与自己模块相关的),仅有少部分人(比如PM,TL等)能看到全部代码,那么追查责任的范围就会小些。

但是因为大家在开发的时候都要在自己的机器上运行整个系统,所以得拿到全部代码才可以。

想知道到底有没有什么好的办法能实现上面的要求,同时也不会对开发效率造成太大的影响。


你们开发的是什么系统,军队导弹导航系统吗?需要那么高保密级别?
0 请登录后投票
   发表时间:2006-03-08  
robbin 写道
你们开发的是什么系统,军队导弹导航系统吗?需要那么高保密级别?


呵呵,其实我自己也觉得用不着这么高的保密级别。但是领导提出这样的要求,我就想问问大家是否真的有什么好的解决方法。

如果没有太好的解决办法,只要有充分的理由能说服领导就行。
所以也想通过讨论分享一下大家的团队代码管理经验,最后能汇总出充分的理由证明对代码的限制弊大于利就行。

根据前面的一些讨论贴,现在能总结出来的一些理由如下:
1. 不利于团队成员间代码开发经验的共享,从长远考虑,对团队的发展不利。
2. 会导致各种猜疑和推脱,开发过程中如果出现各种衔接问题,每一个人会设法把问题推到另外一边去。
3. 与“所有人对所有代码负责”的团队管理办法相违背(如果这个理念是业界非常推崇的话就好办了)。
4. 降低人员的工作效率及公司的运转效率。
5. 降低了团队成员的责任感,使得“项目失败不关我事,我只管写好我这块代码”的思想成为主导。
6. 代码集体所有可以在团队成员之间构建合理的技术和知识分布,避免由于人员变动而给项目带来风险。

如果能再举几个具体的实例,比如XXX系统,包含XX模块……,在开发过程中也没有采用限制代码的开发方式,就更令人信服了。
0 请登录后投票
   发表时间:2006-03-08  
vaja 写道
robbin 写道
你们开发的是什么系统,军队导弹导航系统吗?需要那么高保密级别?


呵呵,其实我自己也觉得用不着这么高的保密级别。但是领导提出这样的要求,我就想问问大家是否真的有什么好的解决方法。

如果没有太好的解决办法,只要有充分的理由能说服领导就行。
所以也想通过讨论分享一下大家的团队代码管理经验,最后能汇总出充分的理由证明对代码的限制弊大于利就行。

根据前面的一些讨论贴,现在能总结出来的一些理由如下:
1. 不利于团队成员间代码开发经验的共享,从长远考虑,对团队的发展不利。
2. 会导致各种猜疑和推脱,开发过程中如果出现各种衔接问题,每一个人会设法把问题推到另外一边去。
3. 与“所有人对所有代码负责”的团队管理办法相违背(如果这个理念是业界非常推崇的话就好办了)。
4. 降低人员的工作效率及公司的运转效率。
5. 降低了团队成员的责任感,使得“项目失败不关我事,我只管写好我这块代码”的思想成为主导。

如果能再举几个具体的实例,比如XXX系统,包含XX模块……,在开发过程中也没有采用限制代码的开发方式,就更令人信服了。


不能什么事情都要宠着老板,唯唯诺诺的员工不是好员工。

我碰到过这种状况,开发自己的模块,依赖其他模块,但是人家不给源代码,只有打包好的jar。这种情况在编程的时候就很恼火,你搞不清楚API细节,不知道该怎么调用,也不了解代码整体运行状况,这种项目做下来,质量脆弱的很,一碰就散架了。在调试的时候就更恼火,你断点跟踪不下去,代码调试手段基本被废掉了,这就像砍了你一条腿,让你跑步,你跑得快吗?

应用软件代码模块化达不到黑箱复用的程度,普通开发人员模块化接口设计也达不到成功开源框架软件成熟度,非要这么干就是找死。
0 请登录后投票
   发表时间:2006-03-08  
robbin说得很有道理,我也深有同感,看来还是要尽力说服领导才行。

那么从公司角度讲,有什么好的办法能保证代码不容易被流传到外面呢?当然不用100%保证,只要是有一定的效果就行。
0 请登录后投票
   发表时间:2006-03-08  
vaja 写道
robbin说得很有道理,我也深有同感,看来还是要尽力说服领导才行。

那么从公司角度讲,有什么好的办法能保证代码不容易被流传到外面呢?当然不用100%保证,只要是有一定的效果就行。


没有任何技术手段可以保证100%的代码安全性。公司需要做的是员工职业道德教育。
0 请登录后投票
   发表时间:2006-03-08  
vaja 写道
robbin说得很有道理,我也深有同感,看来还是要尽力说服领导才行。

那么从公司角度讲,有什么好的办法能保证代码不容易被流传到外面呢?当然不用100%保证,只要是有一定的效果就行。

培养员工对公司的忠诚度.忠诚度越高,泄漏越不可能发生. 不过这种时候要注意无意泄漏.
0 请登录后投票
   发表时间:2006-03-08  
如果要达到楼主那种保密方式,我有一个方案:
(1)把一个系统分解成一个个的小项目,项目以jar包的形式存在。
(2)项目与项目之间的依赖关系,用jar包。这样不必下载其他项目,只要得到项目的jar包,即可引用其代码。
0 请登录后投票
   发表时间:2006-03-08  
jack 写道
'所有人对所有代码负责' 和xp无关.这个只是一种基本的团队管理办法.

脱离了了结对编程、测试驱动、持续集成等支撑,所有人对所有代码负责谈何容易
0 请登录后投票
论坛首页 综合技术版

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