首页 游戏天地文章正文

技术速递|如何利用 GitHub Copilot 提升代码审查与拉取请求的质量

游戏天地 2025年08月18日 12:35 1 admin
技术速递|如何利用 GitHub Copilot 提升代码审查与拉取请求的质量

M

点击蓝字 / 微软开发者MSDN

关注我们

作者:Melissa Pastore

翻译/排版:Alan Wang

通过工程团队提供的真实提示、示例和工作流技巧,探索 GitHub Copilot 如何高效简化代码审查、拉取请求及日常工程任务。

技术速递|如何利用 GitHub Copilot 提升代码审查与拉取请求的质量

自从将近三年前加入 GitHub,担任计费团队的软件工程师以来,我一直近距离见证着包括 GitHub Copilot 在内的 AI 编码工具的发展历程。它最初只是代码补全功能,如今已经演变出更多能力,包括智能化工作流和重构建议。刚开始使用 Copilot 时,我主要是在 VS Code 中使用它。随着 Copilot 的不断发展与扩展,我的使用场景也早已不再局限于代码编辑器,而是延伸到了日常工作的各个环节,包括拉取请求、代码审查等。

如今,GitHub Copilot 已经覆盖了整个软件开发生命周期,其中一个极具价值的场景,就是在创建拉取请求和进行代码审查时。在 GitHub 工作期间,我发现了一些切实可行的方法,可以让 Copilot 在拉取请求和代码审查过程中发挥重要作用。以下是我实践中养成的一些习惯,它们显著提升了我的工作流顺畅度和效率。

GitHub Copilot

https://github.com/features/copilot

智能化工作流

https://github.blog/news-insights/product-news/from-pair-to-peer-programmer-our-vision-for-agentic-workflows-in-github-copilot/https://github.blog/news-insights/product-news/from-pair-to-peer-programmer-our-vision-for-agentic-workflows-in-github-copilot/

重构建议

https://github.blog/ai-and-ml/github-copilot/github-for-beginners-code-review-and-refactoring-with-github-copilot

代码审查

https://github.blog/developer-skills/github/how-to-review-code-effectively-a-github-staff-engineers-philosophy/

在进行代码审查时使用 Copilot 建议

当我在审查同事的拉取请求时,常常会想到他们的代码可以如何改进,或者想确认代码是否遵循了最佳实践。然而,我并不总有时间亲自编写重构后的代码。遇到这种情况时,我通常会点击正在审查文件旁的 Copilot 图标,让 Copilot 针对我当前审查的代码行提出一个具体的改进建议。然后,我会将这个建议附上我认为该建议能改进代码的原因,一并写进审查评论中。

最近,在审查一位同事的代码时,我注意到一个 Ruby 文件中存在一些重复代码。我点击了相关代码旁的 Copilot 图标,并向它输入了这样的提示:

> “Can you refactor this Ruby on Rails code to reduce repetition?”

Copilot 给出的建议与我原本会写的代码几乎一致,为我节省了好几分钟时间,让我能够将精力更多地放在更高层次的反馈上。

由于我经常需要在不同的上下文中切换,并审查多种语言的代码,如 Ruby、TypeScript 和 Go,有时我需要回顾一下每种语言的最佳实践。最近,我就在审查一段 Go 代码时使用了这样的提示:

> “Is this code addition following Go best practices for variable assignment? If not, can you suggest improvements?”

Copilot 很快生成了一个建议,我在审查后将其作为代码审查评论的一部分使用。这样不仅节省了时间,也让我的反馈更具可操作性。

技术速递|如何利用 GitHub Copilot 提升代码审查与拉取请求的质量

为拉取请求格式化表格和数据

我喜欢在拉取请求的描述中添加图片、屏幕录制,有时还会加上电子表格,以提供更多背景信息,帮助审查人员更好地理解我的修改。但在 Markdown 中添加这些信息可能会非常繁琐!遇到这种情况时,我会让 Copilot 帮我完成格式化工作。

最近,我在做一些改进,以减少某个 React 页面加载时间,并希望展示这些改进带来的效果。我一直在用电子表格记录修改前后的页面加载时间,并打算把它放进拉取请求的描述中,于是我给 Copilot 输入了这样的提示:

Format this data into a GitHub flavored markdown table that I can paste into a GitHub pull request description:   
Load Time Before (in seconds) Load Time After Updates (in seconds) 1.3 1.2 1.2 1.1 1.1 0.885 1.3 1.3 1.2 0.918Average 1.22 1.0806

Copilot 给出了如下响应:

Here’s your data formatted as a GitHub-flavored markdown table, ready to paste into a pull request description:Markdown| Test Run | Load Time Before (seconds) | Load Time After Updates (seconds) ||----------|---------------------------|-----------------------------------|| 1        | 1.3 | 1.2 || 2        | 1.2 | 1.1 || 3        | 1.1 | 0.885 || 4        | 1.3 | 1.3 || 5        | 1.2 | 0.918 || **Average** | **1.22** | **1.0806** 
Let me know if you’d like any adjustments!

这个小技巧让我在拉取请求的描述和评论中更轻松地清晰分享数据。

让 Copilot 帮助撰写拉取请求摘要

我经常使用 Copilot 来辅助撰写拉取请求摘要。我们都有过这样的经历:修复了一个 bug 或新增了一个功能,终于打开了拉取请求,最后一道关卡却是写拉取请求的描述。Copilot 可以通过拉取请求描述编辑栏中的 Copilot 图标,帮助你快速启动这一过程。即使最后我会对文本进行修改,有了一个起点,写起来也不会那么令人畏惧。

技术速递|如何利用 GitHub Copilot 提升代码审查与拉取请求的质量

辅助撰写拉取请求摘要

https://docs.github.com/en/copilot/using-github-copilot/creating-a-pull-request-summary-with-github-copilot

利用 Copilot 进行代码审查和理解陌生代码

Copilot 非常擅长代码审查和解释,我日常工作中主要有两种使用方式:请求 Copilot 做初步代码审查,以及向 Copilot 询问不熟悉的代码。

在我将拉取请求标记为“准备好审查”之前,通常会先请求 Copilot 对我的改动做一次快速审查。它经常能发现我可能忽略的问题,或提出更优的写法建议。同时,别忘了在代码库的自定义指令中添加一些说明,告诉 Copilot 在审查拉取请求时应该重点关注哪些内容。

当我在审查他人代码时,如果遇到不理解的改动,我会请 Copilot 进行解释。这有助于我快速获取上下文,尤其是在对代码库该部分不太熟悉时。对代码的更深入理解,使我能够为团队成员提供更细致、更有深度的代码审查,也确保我完全理解每个拉取请求可能带来的影响,从而做出更明智的审批决策。

请求 Copilot 对我的改动做一次快速审查

https://docs.github.com/en/copilot/how-tos/use-copilot-agents/request-a-code-review/use-code-review

代码库的自定义指令

https://docs.github.com/en/copilot/how-tos/agents/copilot-code-review/using-copilot-code-review#customizing-copilots-reviews-with-custom-instructions

Copilot 对代码审查和拉取请求的影响

虽然 Copilot 不能替代细致入微、积极参与的代码审查,但它已经成为我作为软件工程师日常工作中不可或缺的工具。从生成智能建议和代码重构,到快速的 Markdown 格式化和拉取请求摘要撰写,Copilot 帮助简化了编写代码之外的工作,使反馈更具可操作性,代码审查过程更快且更全面。通过将 Copilot 融入软件开发生命周期的每个阶段,我得以专注于更高层次的工程问题和团队协作。随着 Copilot 不断进化,我期待它不仅继续改变我的工作流程,更将革新全球开发者的协作方式。

开始使用 GitHub Copilot >

GitHub Copilot

https://github.com/features/copilot

技术速递|如何利用 GitHub Copilot 提升代码审查与拉取请求的质量技术速递|如何利用 GitHub Copilot 提升代码审查与拉取请求的质量

微信公众号|微软开发者MSDN

新浪微博|微软中国MSDN

·END·

发表评论

泰日号Copyright Your WebSite.Some Rights Reserved. 网站地图 备案号:川ICP备66666666号 Z-BlogPHP强力驱动