5

我的 Team Foundation Server 中有 3 个级别的用户:

  1. 程序员:代码审查员必须审查他们的代码,他们不能签入自己的代码
  2. 专业程序员:他们的代码不需要审查,但他们的代码副本应自动发送给代码审查员
  3. Code Reviewer:他们的代码不需要审查,可以直接签入

我该如何实现呢?

4

4 回答 4

5

一种方法是使用分支和警报。例如...

  • 高级程序员将直接在您的“主”分支上工作,以便他们可以将代码检查到实时代码库中。
  • 初级程序员将在“RequiresReview”分支上工作,然后代码审查员将审查他们的签入,只有当他们对代码感到满意时才将它们合并到 Main。

TFS 可以针对各种事件发送电子邮件警报,因此代码审阅者只需订阅签入事件即可知道代码何时已签入 Main(由高级程序员)或需要审查(已由 RequiresReview 签入)初级程序员)

以这种方式使用分支意味着您必须在两个方向上合并(将初级的签入合并到 Main,并将高级的签入合并回 RequiresReview)

初级程序员的另一种方法是使用 ShelveSets 而不是另一个分支。在这种方法中,Junior 不会签入他们的代码,而只是将其移动到搁置集中,然后通过电子邮件向代码审查员发送电子邮件,要求他们审查并签入他们的搁置集。这避免了将 Main 中的代码合并回 RequiresReview 的需要——初级人员将在 Main 分支上“工作”,但他们的签入将通过搁置集“关闭”。

您还可以购买一些第三方工具,以更加集成的方式为您管理代码审查流程。网络搜索应该可以帮助您找到这类工具。

编辑 请注意,Visual Studio 2012 和 2013 现在包括对代码审查的集成支持(本质上是在上面搁置的想法之上的适当用户界面),因此从 2010 升级可能比我上面建议的解决方法更好。

于 2012-06-03T10:12:09.460 回答
3

您可以主要在 TFS 2010 中配置它,但没有简单的方法可以从 UI 中公开它。TFS 2012 和 VS2012 将为代码审查提供更好的 UI,并且它有一个嵌入式流程,可以带您完成所有工作。

如果您想按照您的描述配置源代码管理权限,它的工作方式如下:

程序员

将它们放在 TFS 组或 AD 组中并设置它们的安全性,以便它们在其工作分支上具有 Checkout 和 Lock 权限,但没有签入权限。当他们完成工作后,让他们创建一个搁置集,然后让他们使用搁置集名称向审阅者发送一封电子邮件。审阅者要么返回带有注释的集合(内联或通过电子邮件或工作项),要么代表程序员签入代码。因为程序员不直接签到,所以不能设置自动提醒。您可以更改流程模板,将准备好审查作为任务的状态,并让他们转换任务(这是自定义代码审查解决方案的工作方式)。

代码审查员

至少必须具有结帐、锁定和签入权限。将它们放在 TFS 组或 AD 组中,并相应地设置安全性。他们可以直接签到,而无需使用搁板。

专业程序员

(我会小心这个词,它会让其他程序员听起来不专业,我更喜欢高级或经验丰富的)。授予他们与 Code Reviewer 相同的权限。配置一个 TFS 警报,该警报在该组中的任何人签入时发出。将警报发送给代码审查员。然后,他们可以使用查看历史记录选项来查看变更集并将评论发送给有问题的程序员。使用TFS Power Tools可以更轻松地配置警报(并且功能更强大)。

如果您想要更高级的解决方案,即集成到 TFS 流程模板中的解决方案,那么您可以使用以下两种开源解决方案之一:

或者查看他们的代码(它们是开源的),以了解如何自己构建这样的东西。不过这不会很容易,而且一旦 TFS 2012 出现,它可能就没用了。

另请查看我关于 TFS 2012 中围绕代码审查的新功能的演示文稿(该 ppt 是英文的,尽管录音是在荷兰会议上完成的,因此是荷兰语)。

于 2012-06-03T15:30:50.483 回答
2

+1 杰森(Jason)优秀的第三者之一是团队审查

http://teamreview.codeplex.com/

于 2012-06-03T13:08:23.813 回答
1

如果您可以升级到 Visual Studio 2012,那么现在 Team Explorer UI 中内置了一个很棒的代码审查界面(也需要 TFS 2012)。一探究竟:

http://blogs.msdn.com/b/mvpawardprogram/archive/2012/09/04/new-code-review-feature-in-visual-studio-2012.aspx

于 2012-09-15T02:40:33.317 回答