【问题标题】:How do i code review in tfs 2010?我如何在 tfs 2010 中进行代码审查?
【发布时间】:2012-06-07 19:20:54
【问题描述】:

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

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

我该如何实现这个?

【问题讨论】:

    标签: visual-studio-2010 tfs


    【解决方案1】:

    一种方法是使用分支和警报。比如……

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

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

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

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

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

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

    【讨论】:

    • 感谢您的帮助.. 我可以在 Active Directory 中创建 3 个用户组,然后在签入策略代码中获取使用签入命令的用户的组名,然后决定该操作吗?例如: if (groupname=="Programmers") {aivect code review operation } else if(groupname=="codereviewer") {chickin} etc...可以实现吗?如果答案为真,如何获取组名以及如何激活 codeReview 操作?谢谢你的帮助...
    • 每个用户可以被赋予不同的权限,例如,如果你不想让后辈签到,你可以简单地将他们放在一个没有签到权限的组中。通知可以通过自动警报电子邮件来处理(或者如果您采用这种方法,则可以通过小学生邮寄审查其搁置集的请求的程序来处理)。搜索这些主题会发现很多关于如何实现每个部分的信息。但请注意,对于大多数程序员来说,只需告诉他们需要使用的流程就足以让系统运行良好。
    【解决方案2】:

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

    如果你想按照你描述的那样配置源代码控制权限,它是这样工作的:

    程序员

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

    代码审查员

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

    专业程序员

    (我会小心这个词,它会让其他程序员听起来不专业,我更喜欢资深或经验丰富的程序员)。授予他们与 Code Reviewer 相同的权限。 Configure a TFS Alert 当该组中的任何人签入某些内容时会响起。将警报发送给代码审查员。然后,他们可以使用查看历史记录选项来查看变更集并将 cmets 发送给相关的程序员。使用TFS Power Tools 可以更轻松地配置警报(并且功能更强大)。

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

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

    还可以查看my presentation on the new features in TFS 2012 around code review(ppt 是英文的,尽管录音是在荷兰会议上完成的,因此是荷兰语)。

    【讨论】:

      【解决方案3】:

      +1 杰森 好的第 3 方之一是团队审查

      http://teamreview.codeplex.com/

      【讨论】:

      • 感谢 M.Radwan。它是一个工具,但我如何自己实现它?可以在自定义签入策略代码中获取使用签入操作的组名或用户名吗?
      • 我不明白你的意思吗?但正如我所见,这里的所有伙伴都有很多解决方案,请尝试其中的任何一个。
      【解决方案4】:

      如果您可以升级到 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

      【讨论】:

        猜你喜欢
        • 2019-08-29
        • 1970-01-01
        • 2012-07-27
        • 1970-01-01
        • 2016-02-15
        • 1970-01-01
        • 1970-01-01
        • 2019-05-19
        • 1970-01-01
        相关资源
        最近更新 更多