大家所在的公司都做 CodeReview 么?

2018-08-14 11:05:43 +08:00
 peterswan

我现在所经历的公司,还没有做 CodeReview 的,也许公司太小的原因,但是我觉得 CodeReview 是非常有效的方式,能提高代码可控性和质量,还能促进技术交流。不知道你们经历的公司有 CodeReview 么,有的话可以分享一下感受,和如何进行 CodeReview 比较好。

11511 次点击
所在节点    程序员
101 条回复
lxerxa
2018-08-15 08:57:42 +08:00
团队小的时候还做,后来慢慢放弃了。。。
wuhanchu
2018-08-15 09:00:39 +08:00
有 review 都是好公司啊
hasbug
2018-08-15 09:06:06 +08:00
@peterswan 因为项目已经不受项目经理控制,一个老员工总把自己当回事,什么都他说了算,项目经理心累,直接不管了
peterswan
2018-08-15 09:16:46 +08:00
@liyuhang 欢迎提 pr
shijingshijing
2018-08-15 09:17:49 +08:00
@coolhubery 如果养成习惯了就真不错,大家共同进步,code review 还有一些计划类的 paperwork 其实从长远看都是必不可少的。如果为了赶工期某一个人开始写 smelly code,而且不加制止就 merge 进来,最终导致的是整个 project 散发臭味。就跟加班一样。

ps:比较好奇你们的覆盖率达到 100%,是指需求覆盖率还是语句覆盖率?如果是严格按照 MCDC 做语句覆盖,每个条件都 cover 到,那 100%就厉害了。
peterswan
2018-08-15 09:18:18 +08:00
@jiangjz 同感,有的代码看着让人头皮发麻,经过了 n 个人的修改,修改成本很高,只能重构。
UIXX
2018-08-15 09:20:48 +08:00
有 CodeReview 要两点:
1、领导强制力
2、员工自觉性
团队要有能人,员工要会进取、肯学习。其他都是扯淡。
coolhubery
2018-08-15 09:28:36 +08:00
@shijingshijing 语句 100%覆盖。除了极少部分遗留代码无法实现 100%的情况外,新增代码必须语句 100%,否则 Gerrit CheckBot 静态检查都过不了。
coolhubery
2018-08-15 09:29:19 +08:00
@fanqianger 西安...
peterswan
2018-08-15 09:29:45 +08:00
@micean 就我的经历来看,靠自觉解决不了工程中出现 smelly code,只要有这种代码,就很有可能会让项目代码维护成本增高,而且如果维护的人写的代码继续糟糕下去,会使的项目走向慢性死亡,这些时间还不如拿出来放到开发的时候去 Review,其实是节省的整体项目的时间,管理人员更应该有这个意识。
shijingshijing
2018-08-15 09:43:41 +08:00
@coolhubery 那这个成本很高了,我只在某些 safty critical 的软件上看到过类似甚至更严的方法,比如 pacemaker 产品不仅对覆盖率有要求,而且对实时性有非常高的要求,必须在指定时间内完成指定任务。

你们测试是自己做还是外包给三哥?包括 test plan,test case,test report 都是怎么做的?
Rico
2018-08-15 09:45:51 +08:00
有。且代码评审作为升等的一个参数。
thinkmore
2018-08-15 09:57:54 +08:00
每次提交代码都要 code review.

好处:学习别人写的好的代码,让别人指出自己写得不合理的地方或者造成歧义的地方。

坏处:codereview 有时候时间太长,无法快速合并代码影响开发效率。
coolhubery
2018-08-15 10:00:54 +08:00
@shijingshijing SAP HANA 内存数据库执行引擎。
因为是全新的执行引擎去替代老的引擎,所以大部分的端到端测试,性能测试,压力测试等都可以重用。自己的 change 提交的话是需要自己写 unit test 的,一些本引擎特有的特性需要自己额外写 E2E 测试。
xoxo419
2018-08-15 10:07:28 +08:00
人少 活多 事赶
wujiyu115
2018-08-15 10:09:36 +08:00
阶段性 review,一个开发周期结束,上线之前 review 一下
woofee
2018-08-15 10:55:02 +08:00
@NCry 结对编程
micean
2018-08-15 12:38:25 +08:00
@peterswan 本来也是半路接手的项目,项目本身的设计就有问题,从去年开始就跟上头不止一次提过要重构整个设计,以免项目越来越膨胀的时候彻底改不动了。然而一点卵用都没有,1 版本还在测试,2 版本的需求就过来了,3 版本的需求就开始规划了,设计思想基本没有,有点无力回天的感觉了
peterswan
2018-08-15 13:22:27 +08:00
@micean 对于这种项目,上头的人如果只想着眼前开发的速度,不考虑可维护性,如果你本身也没这么大的权利去实施重构和审查,我觉得这个项目已经走向凉凉的道路了。如果能够实施,复盘重构是必须的了,重构加入代码审查,人力充足的话老版本的迭代和重构版本同步进行,员工心里写代码也会开心提高效率。
mingyun
2018-08-18 22:21:01 +08:00
那么问题来了,有什么好的 code review 工具

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/479600

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX