2009-08-24 28 views
15

我想知道人们进行代码评论的频率以及您认为进行评论的频率。另外,我想听听你如何执行你的代码评论。我现在正在使用TTC,对此我非常满意,但我认为它并不涵盖代码的所有部分。应该多久进行一次代码审查?

回答

14

我们总是在将代码提交到主干之前执行代码审查我同意Neil Butterworth的评论,即经常提交的内容是值得鼓励的,并且在每次提交之前都需要进行代码审查来抑制此问题。

确切的工作条件取决于环境和项目。我们的环境是这样的:

  • 保持我们的发展主线在后备箱
  • 有躯干必须始终工作(即不承诺的东西到主干不编译或失败测试规则等)
  • 科对于每种情况(特征,缺陷修复等)
  • 执行代码审查当在给定支路中的工作完成
  • 合并分支向下到主干当它通过审查
  • 发布时,我们标记黄金版本的版本和分支。针对特定版本的所有新错误修复都发生在该分支中。发布分支永远不会合并回主干。

在我们的环境,这使得开发人员经常犯(自己的分公司的范围内)和代码审查,以进行每单位工作的(但不是每个提交)。

至于如何进行代码审查,这是一个更加雄心勃勃的问题。一个值得的,所以它自己的问题(并有实际已经有几个):

https://stackoverflow.com/questions/89163/how-to-conduct-a-successful-code-review Best Peer Code Review Software https://stackoverflow.com/questions/tagged/code-review

+0

有趣的方法,你使用什么工具来简化这个,以便在开始一个bug /特性/任何工作时不涉及一个巨大的步骤? – 2009-08-24 13:59:19

+0

+1:这对于我所从事的所有项目来说都是非常标准的练习。简单而简单。 – 2009-08-24 14:55:41

+0

我们使用FogBugz进行案例跟踪,并使用Subversion进行源代码管理。当我们开始处理一个案例时,我们只需从TortoiseSVN的主干分支并切换我们的工作副本。然后,当工作完成并准备好审核时,我们只需将案例分配给审核人员。审查完成后,原始开发人员将其与TortoiseSVN合并到主干中。我相信FogBugz 7(我们仍然在6)提供工作流管理,所以你可以自动化一些工作流程,但不是SVN步骤。我们还没有发现遵循这个工作流程是困难或乏味的。 – 2009-08-24 15:03:55

1

办理入住手续办理登机手续通常与功能/模块的逻辑完成相关(取决于程序员),所以这是个好时机。当检入代码时,已经很难追查谁编码什么和什么时候编码。

+3

我完全不同意,代码审查必须在入住前进行。频繁的登记是值得鼓励的,而代码审查虽然是一个重要的工具,但只能阻碍这一点。 – 2009-08-24 13:27:49

+0

@尼尔,你可以回答你的替代品吗? – 2009-08-24 13:29:47

+0

每次检查您的团队适合的尺寸也是一个不错的主意。您正在寻找在更改的大小和完成评论的频率之间的平衡。块体太大,审稿人失去兴趣,可能会掩盖而不是密切关注。过于频繁的评论可能会拖延,以支持评论者的实际工作。 – 2009-08-24 13:40:07

1

任何时候任何代码都将被检入,所以在签入之前。但是,根据项目情况,您可能希望更频繁地执行此操作。

如果有人正在开发一个需要几周的项目,并且他们不会检查该时期的任何代码,那么应该在项目的各个组件完成时收到代码。原因在于它会不断对代码进行审查,以确保在整个项目中不会重复使用不良设计模式,并且审查所需的更改较少。

我也会建议开发者越初级越应该审查代码。

+4

几周没有办理登机手续?代码应该每天检查几次。 – 2009-08-24 13:42:35

+0

也许更好的办法是升级到父分支,而不是检入。 – 2009-08-24 14:06:34