科大讯飞的真正价值,不在于发布大模型的数量,而在于能否让AI在真实场景中“用起来”。其长期积累的技术适配能力、行业数据闭环与国产化生态协同,构成了区别...
2025-08-21 0
M
点击蓝字 / 微软开发者MSDN
关注我们
作者:Melissa Pastore
翻译/排版:Alan Wang
通过工程团队提供的真实提示、示例和工作流技巧,探索 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 很快生成了一个建议,我在审查后将其作为代码审查评论的一部分使用。这样不仅节省了时间,也让我的反馈更具可操作性。
为拉取请求格式化表格和数据
我喜欢在拉取请求的描述中添加图片、屏幕录制,有时还会加上电子表格,以提供更多背景信息,帮助审查人员更好地理解我的修改。但在 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.918
Average 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 图标,帮助你快速启动这一过程。即使最后我会对文本进行修改,有了一个起点,写起来也不会那么令人畏惧。
辅助撰写拉取请求摘要
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
微信公众号|微软开发者MSDN
新浪微博|微软中国MSDN
·END·
相关文章
科大讯飞的真正价值,不在于发布大模型的数量,而在于能否让AI在真实场景中“用起来”。其长期积累的技术适配能力、行业数据闭环与国产化生态协同,构成了区别...
2025-08-21 0
在快节奏的现代生活中,扫地机器人已然不再是陌生的“高科技”,很多人家里都开始计划挑选一台扫地机器人来帮助处理让人头疼的家庭清洁问题,彻底解放双手。那么...
2025-08-21 0
近日,由胜利石油工程公司钻井液技术服务中心提供技术服务的四川巴中101HF井试获日产天然气25.38万立方米,取得川北地区侏罗系河道砂岩油气藏勘探重要...
2025-08-21 0
金融界2025年8月21日消息,国家知识产权局信息显示,杭州隆升包装材料有限公司取得一项名为“一种用于纸箱生产加工的裁切装置”的专利,授权公告号CN2...
2025-08-21 0
金融界2025年8月21日消息,国家知识产权局信息显示,苏州有才厚片吸塑包装科技有限公司取得一项名为“一种底部带有耐磨结构的塑料托盘”的专利,授权公告...
2025-08-21 0
金融界2025年8月21日消息,国家知识产权局信息显示,萍乡市捷龙环保科技有限公司取得一项名为“一种分子筛干燥储存装置”的专利,授权公告号CN2232...
2025-08-21 0
金融界2025年8月21日消息,国家知识产权局信息显示,东莞市鹏锦机械科技有限公司取得一项名为“一种自流净排的防冻表冷器”的专利,授权公告号CN223...
2025-08-21 0
金融界2025年8月21日消息,国家知识产权局信息显示,武汉第二电线电缆有限公司取得一项名为“一种便携式转运工装”的专利,授权公告号CN2232386...
2025-08-21 0
发表评论