找回密码
 骑士注册

QQ登录

微博登录

搜索
❏ 站外平台:

Linux中国开源社区 观点 查看内容

你们公司做代码审查吗?

| 2014-06-08 11:07   评论: 9 分享: 8    

每当从各种公司听到他们正在尝试自动化部署/测试的事情,我都非常关注,但通常会很吃惊,他们很少会考虑去实行代码审查制度。

看到这种情况,我通常想问:如果代码没有经过其它人的审查,你如何知道你要测试的是什么?这答案(如果有的话)通常是捏着手指头说有几个人在做代码审查或“正在考虑中”。

没有代码审查?真的吗?不可思议?!?

代码审查不是可有可无的。

不论你采用什么形式的测试过程,什么形式的部署过程,没有代码审查——game over。为什么?因为代码的质量是一种人能看懂的质量。不管你如何测试,有如何严谨的部署流程,只有当另外一个人看了这些代码,并且表明能看懂时,这些代码才有意义。如果看不懂,你认为这样的代码——虽然测试通过、部署符合流程——可以上线吗?

没有经过代码审查,测试说明不了任何问题。测试通过但没有经过代码审查的代码仍然是有bug的。

什么是代码审查?

请参考谷歌是如何做代码审查的

设计中使用的“走廊UX测试”是说:在开始实现你的设计前,至少需要有一个人看过你的设计。代码审查是相同的道理。

代码审查是说:在把你的代码合并到代码库里之前,请至少找一个人看看你的代码。

如何进行代码审查?

下面是代码审查基本的步骤:

  1. 把身体向左转。
  2. 看到另外一个程序员?拍拍他的肩膀。
  3. 让他看你的显示器。
  4. 说:这代码你能看懂吗?我打算把它提交到代码库里。
  5. 听他的建议。
  6. 自己做决定:是应该修改一下,还是继续提交到代码库里。

就这样。

现在,我想告诉你,有大量的代码审查工具可以使用。它们都能高度的自定义配置。它们的作用都是让你代码审查过程更方面、灵活。

简单的几款代码审查工具

下面是我推荐的几款简单的代码审查工具(如果你的公司的程序员少于5千人)。

  1. less
  2. diff, 或 wdiff
  3. GitHub pull requests

就是这些。虽然还有很多很多的代码审查工具,我很少听说哪个程序员说喜欢它们的。而我的观点,less, diff, github pull requests能解决我们正常开发中的大部分代码审查问题。

如果你的代码审查过程过于复杂,需要使用大量的工具,这说明你过分的依赖于一些不必要的形式,你应该简化它们。你可以说成你的反对的观点,或在微博上和我们讨论。

coding

[英文原文:Do you do code review? ]

via : http://www.vaikan.com/do-code-review/ 

收藏


最新评论

我也要发表评论

Nutall 2014-06-11 14:41 回复
还没有
liangjz 2014-06-09 08:33  新浪微博网友评论 回复
没奖惩制度玩不转//@鹄思乱想:是的啊,重视太少 //@2gua:代码审查总是被重视,但总是为各种借口让路。只有客户投诉的那一个月内,才会操作一下,过后往往好了伤疤忘了痛,等候下一个伤口吧......
鹄思乱想 2014-06-09 07:03  新浪微博网友评论 回复
是的啊,重视太少 //@2gua:代码审查总是被重视,但总是为各种借口让路。只有客户投诉的那一个月内,才会操作一下,过后往往好了伤疤忘了痛,等候下一个伤口吧......
Godlovereds 2014-06-08 21:03  新浪微博网友评论 回复
code review//@2gua: 代码审查总是被重视,但总是为各种借口让路。只有客户投诉的那一个月内,才会操作一下,过后往往好了伤疤忘了痛,等候下一个伤口吧......
2gua 2014-06-08 20:33  新浪微博网友评论 回复
代码审查总是被重视,但总是为各种借口让路。只有客户投诉的那一个月内,才会操作一下,过后往往好了伤疤忘了痛,等候下一个伤口吧......
自动化网官方微博 2014-06-08 18:33  新浪微博网友评论 回复
关注自动化部署/测试 @推好自动化 @自动化学院派
Danniryuu 2014-06-08 11:33  新浪微博网友评论 回复
就是没代码审查,项目现在根本不能看
XinChao666 2014-06-08 11:33  新浪微博网友评论 回复
@孙晓奇007 @成程2010 @我叫郎文龙
深圳陆小K 2014-06-08 11:33  新浪微博网友评论 回复
代码审查。
返回顶部

分享到微信

打开微信,点击顶部的“╋”,
使用“扫一扫”将网页分享至微信。