跳至主要内容

使用 GitHub Copilot 加速公司拉取请求

了解功能,赋能开发者,并衡量 Copilot 的影响。

谁可以使用此功能?

GitHub Copilot Business 或 GitHub Copilot Enterprise

本指南受 GitHub 的 工程系统成功手册(ESSP)启发,手册建议用于推动工程系统改进的策略和指标。

如果您正准备在公司推广 Copilot,我们建议先定义目标,相应地规划推广计划,并向员工清晰传达目标。请参阅 使用 GitHub Copilot 实现公司工程目标

1. 确定成功的障碍

ESSP 推荐的第一步是清晰了解阻碍公司改进的障碍。通过了解您当前的基准、期望的未来状态以及阻止进展的障碍,您可以确保变更具针对性且有效。

团队经常因冗长的审查周期而导致合并拉取请求的延迟。这些延迟通常源于

  • 难以理解的复杂代码变更
  • 不一致的代码格式导致审查困难
  • 对变更提供的上下文普遍不足
  • 导致审查缓慢或难以处理的社交因素

审阅者也可能轻易遗漏小错误,从而导致生产问题。

这会在开发流程中形成瓶颈,减慢功能的整体交付速度和质量。

2. 评估您的选项

下一步是评估并确定解决第一步中识别的障碍的方案。在本指南中,我们将聚焦于 GitHub Copilot 对您已确定目标的影响。成功推广新工具还需要文化和流程的变更。

在试点小组中对新工具和流程进行试验,以收集反馈并衡量成功。有关培训资源和试验期间使用的指标,请参阅 3. 实施变更需要关注的指标 部分。

联系销售

Copilot 如何提供帮助

GitHub Copilot 提供一套功能,旨在加速拉取请求审查过程、提升代码质量并改善协作,最终实现更快的合并时间。

通过利用 Copilot 的能力,团队可以简化工作流、降低摩擦,并确保代码的一致性和高质量。

生成完整且有帮助的 PR 摘要

Copilot 可以自动生成清晰简明的 PR 摘要,节省开发者时间并确保审阅者能够轻松理解 PR 的目的和变更。这降低了误解的可能性并加快审查过程。

在审查过程中帮助审阅者

GitHub Copilot 可用作强大的 PR 审查伴侣。

  • Copilot 能帮助解释复杂的代码变更,使审阅者更快理解 PR 所贡献的内容。
  • Copilot 可以在 GitHub 的拉取请求审查界面中直接提供全仓库、上下文感知的建议和潜在代码改进,帮助审阅者更高效地发现潜在问题并提供建设性反馈。
  • Copilot 能帮助审阅者起草并撰写清晰、一致且有效的审查意见。

基于组织指南的审查

  • Copilot 可以在打开拉取请求前于你的 IDE 中审查代码变更,或被指派为拉取请求的审阅者。
  • 通过规则集,你可以配置 Copilot 根据自定义标准系统性地审查拉取请求。
  • 使用自定义审查指令,Copilot 可以强制执行组织的编码标准和最佳实践,自动标记潜在违规并提供修复建议。

这些功能确保代码库的一致性,帮助你在开发早期捕获错误,减少人工代码审查的需求,为开发者和审阅者节省时间。

建议代码修复

基于拉取请求的审查评论,Copilot 可以帮助作者快速实现所需的代码更改,以解决审查问题。

文化考虑

在推广 GitHub Copilot 的同时,需解决可能阻碍实现目标的任何社交或文化因素。

以下示例摘自 ESSP 中的“反模式”章节。

  • 团队可能会等待过久才发布,一次性部署大量代码。这可能源于对频繁发布导致不稳定的担忧、CI/CD 流水线不成熟或严格的合规要求。
  • 开发者可能会花费过长时间打磨代码或加入不必要的功能。这可能是由于完美主义文化或缺乏有效的优先级划分。
  • 开发者可能会为简单问题构建过于复杂的解决方案。这可能是因为不必要的面向未来的需求,或是通过复杂性来增加价值的压力。

3. 实施变更

当您确定了解决障碍的正确方法后,就可以扩大这些方案的规模。要成功推广新工具或流程,请为每个环节指定负责人,透明沟通目标,提供有效培训,并衡量结果。

本节提供示例情景、最佳实践和面向开发者的资源。请利用本节 规划沟通和培训会议,帮助员工以符合您目标的方式使用 Copilot。

创建有帮助的拉取请求摘要

  1. 创建拉取请求时,点击 “Add a description”(添加描述)字段中的 Copilot 图标,然后点击 Summary(摘要)。
  2. Copilot 将扫描整个拉取请求,提供对所做更改的文字概述,以及包含受影响文件的要点列表。
  3. 检查你是否满意 Copilot 的描述。
  4. 当审阅者打开你的拉取请求时,他们将拥有所有进行审查所需的上下文。

将 Copilot 用作审查助手

作为审阅者进入拉取请求时,你可以使用 Copilot 加快审查速度。

  1. 使用 Copilot 了解拉取请求中的更改

    • 请 Copilot 概括对某个文件所做的更改,这在处理较长的差异时特别有用。你可以点击文件右上角的区域进行选择。

      Screenshot of a pull request "files changed" tab. The "Ask Copilot about this diff" option is highlighted in red.

    • 若要查看特定行的更改,先选中想要更好理解的行,然后请 Copilot 为你解释这些更改。你可以先点击最上方的行号,按住 SHIFT 键,再点击差异中的最下方行号,以此选中一段行。

      Screenshot of a pull request "files changed" tab. A selection of lines is highlighted and an "Explain" option is displayed in a dropdown.

  2. 与 Copilot 合作进行 PR 审查。在向 Copilot 发出提示前,别忘了将具体的文件差异附加到对话中。

    • 你可以这样询问 Copilot 对 PR 更改的看法:Provide your judgement as a PR Reviewer, both for functional and non-functional aspects that these changes bring。请注意,这个提示要求 Copilot 同时考虑代码的功能性和非功能性方面。

    • 针对你自己的 PR 审查评论,可请 Copilot 提供第二意见:As my peer reviewer on this pull request, give me your feedback on my own review: YOUR-REVIEW-COMMENT. Do you think it's pertinent? Am I missing something?

  3. 与 Copilot 合作起草并完善你的审查评论

    • 在与 Copilot 规划审查后,你可以请求列出需要提供的评论:Make a list of review comments to add to the PR and tell me exactly in which file diff and lines each comment should be added
    • 你也可以请 Copilot 为你构思的审查评论生成初稿,或在发布前对评论进行润色:Help me draft review comments as discussedRefine this review comment to make it clear, concise, and actionable

将 Copilot 添加为审阅者

为了缩短审查时间并更快合并拉取请求,请系统性地使用 Copilot 代码审查:先在 IDE 中审查再打开拉取请求,随后在 GitHub 上的 PR 中进行审查。

使用 Copilot 代码审查并不取代人工代码审查。但遵循上述步骤可以帮助人工审查更快完成。

  • 开发者应在打开拉取请求前使用 Copilot 代码审查对所有变更进行审查。
  • 管理员应设置仓库或组织的规则集,以在任何针对受保护分支的拉取请求中自动将 Copilot 添加为审阅者。
  • 团队负责人应收集团队的标准风格和规则,并将其设为组织的自定义指令,以便 Copilot 在审查时加以利用。
    • 确保你的自定义指令包含一套最基本的代码风格建议,以提升代码可读性,这将在拉取请求审查过程中提供帮助。
    • 为减少因代码风格问题产生的 PR 审查评论,请在仓库和组织层面的 Copilot 指令中设定相同的建议。这样,Copilot 生成的代码将遵循这些规范。

获取实现审查评论的帮助

拉取请求作者可以通过 Copilot 的帮助快速实现修复,从而加速解决 PR 审查评论。

  • 对于 Copilot 本身留下的审查评论,可直接提交其建议的修复,或在 Copilot Workspace 中编辑后再提交。
  • 对于同伴留下的审查评论,先定位到与该评论相关的文件差异,并将该差异附加到 Copilot Chat 对话中。随后,将审查评论复制粘贴并使用如下提示:Suggest a fix for this review comment:
  • 如果你使用 VS Code,请以代理模式让 GitHub Copilot 实现审查评论中要求的更改。

开发者最佳实践

开发者 应当

  • 在推送代码前于 IDE 中请求 Copilot 审查,以便提前捕获并解决问题。
  • 使用 Copilot 规划并完善自己的 PR 审查评论,帮助 PR 作者理解并解决问题。
  • 在与你的 Copilot 对话中附上相关的差异上下文,包括具体的代码行。

开发者 不应

  • 在未进行测试的情况下直接采用 Copilot 的建议。
  • 仅依赖 Copilot 进行审查。
  • 忽视代码可读性。

资源

需要关注的指标

为评估新工具的试点并确保全面推广带来持续改进,请监控结果并在需要时进行调整。我们建议关注 质量、交付速度和开发者满意度 三大维度,以及它们如何共同推动业务成果。

以下是评估 Copilot 对该特定目标影响的部分指标。

  • 开发者满意度:使用开发者调查来衡量对工程工具的满意度。
  • 每位开发者合并的拉取请求数:你可以使用 pull request webhook,确保 actionclosed,且 pull request 对象中的 merged 属性为 true
  • 拉取请求交付周期:衡量 PR 创建到合并之间的平均时间长度。
  • 拉取请求缺陷泄漏率:衡量因审查不充分的 PR 导致的部署问题比例。
  • 拉取请求审查评论类型:下载 PR 审查评论,使用基于 AI 的主题分类进行归类,并跟踪人工审阅者在设计、可扩展性和策略方面的评论。
© . This site is unofficial and not affiliated with GitHub, Inc.