概览
AI 工具的使用正日益成为软件开发者日常工作流程的标准部分。要在职场竞争中保持优势,了解在每个开发任务中应使用哪些 AI 工具至关重要。
GitHub 的 AI 工具在软件开发生命周期(SDLC)的每个阶段提供帮助
- 规划:
- Copilot Chat 可帮助您进行头脑风暴,确定项目的最佳技术方案。
- Copilot Chat 可创建议题,以帮助跟踪您的想法。
- Copilot cloud agent 可帮助您研究仓库并为任务制定详细的实现计划。
- 代码创建:
- Copilot inline suggestions 在您敲代码时提供帮助。
- Next edit suggestions (public preview) 预测您可能进行的下一次编辑,并提供相应的完成建议。
- Copilot Chat 能在对话环境中回答问题并提供建议。
- 您可以将 Copilot cloud agent 分配到未解决的议题,它将自动创建拉取请求以进行必要的更改。或者,Copilot 云代理也可以创建分支并在打开拉取请求前对代码更改进行迭代。
- Reviews(审查):
- Copilot code review 在您喜欢的 IDE 中或在 GitHub 拉取请求审查中为您提供反馈。
- 测试:
- Copilot Chat 可帮助您编写和调试测试。
- 部署:
- Copilot Chat 可帮助您配置持续集成与持续部署(CI/CD)流水线。
- 运维:
- Copilot cloud agent 可以为未解决的议题创建拉取请求。
- Copilot Chat 可帮助您自行处理的任务。
规划
在规划阶段,您会定义项目的目标、范围和需求,通过阐明需要构建的内容以及实现方式,为开发指明方向。
在 GitHub 上,使用 Copilot-powered issue creation(公开预览)来简化想法的追踪。提供简短的自然语言提示(或上传图片),Copilot 将为您生成结构化的议题。
确定要处理的议题后,Copilot Chat 可帮助您为项目头脑风暴并了解可能需要的工具、库和资源。您可以向 Copilot Chat 提出关于设想项目的常规问题,以获取前进路径的建议。例如
我想构建一个帮助用户跟踪每日习惯并提供个性化推荐的网页应用。您能建议我可以使用的功能和技术吗?
创建
在创建阶段,您将编写并完善应用程序的代码。这是通过实现功能、修复缺陷以及迭代代码库来让项目变为现实的过程。
Copilot 在您使用喜爱的 IDE 或 GitHub 编码时提供自动完成式的 coding suggestions,帮助您更快地起草和完善代码。您可以直接编写代码,或在 IDE 中的注释里用自然语言描述意图,Copilot 将生成相应的建议。
使用 next edit suggestions(公开预览),Copilot 根据您正在进行的更改预测相关编辑。例如,当您重命名变量或更新函数参数时,它会在代码中相应位置提出对应的更新建议,从而保持一致性并降低错误概率。
在提问模式下使用 Copilot Chat
在 ask mode 中使用 Copilot Chat 作为您的结对程序员,帮助您完成编码任务、理解棘手概念并提升代码质量。您可以实时向它提问、获取解释或请求建议。
-
您能解释一下这个 JavaScript 函数的作用吗?我不明白它为何使用 forEach 循环而不是 for 循环。 -
JavaScript 中 let、const 和 var 有什么区别?何时应该使用各自的声明方式?
在编辑模式下使用 Copilot Chat
在 edit mode 中使用 Copilot Chat 时,您可以对 Copilot 提出的编辑进行更细粒度的控制。编辑模式下,您决定哪些文件可以被修改,为每次迭代向 Copilot 提供上下文,并自行决定是否接受建议的更改。
-
重构 calculateTotal 函数以提升可读性和效率。 -
登录函数未按预期工作,您能调试一下吗? -
将此代码格式化为符合 Python PEP 8 风格指南的规范。
在代理模式下使用 Copilot Chat
在 agent mode 中,Copilot Chat 可以帮助自动化重复性任务,并直接在项目中管理工作流。您可以让它在您完成代码更改后创建拉取请求,还可以让它在后台运行测试和代码检查。
-
为最近在 user-auth 模块中的更改创建一个拉取请求,并在其中包含更新概要。 -
运行 payment-processing 模块的全部测试和代码检查,并提供发现的任何问题或错误的概要。
评审
review 阶段确保代码的质量和可靠性,涉及分析更改、识别潜在问题以及改进代码库的整体结构和功能。
在 IDE 中编码时,您可以让 Copilot
- Review a selection of changes: 高亮代码的特定部分并请求 Copilot 进行初步审查,适用于小幅编辑的快速反馈。
- Review all changes: 请求对文件或整个项目的所有更改进行更深入的审查,Copilot 将分析您的工作并提供改进建议。
准备好在 GitHub 网站上获取他人的反馈时,先在拉取请求中 assign Copilot as a reviewer。Copilot 将自动添加评论,指出可提升代码质量的地方或潜在的 bug,以便在人类审查前先行发现问题。
测试
测试阶段验证您的应用是否按预期工作。此阶段包括编写并运行测试,以捕获 bug、确保功能完整并在部署前保持代码质量。
Copilot Chat 能通过生成单元测试和集成测试、调试失败并建议额外的测试用例来帮助您实现全面覆盖。以下是一些示例提示:
-
为该函数编写单元测试以计算数字的阶乘。请包含 0 和负数等边界情况。 -
如何使用 Python 的 unittest 框架运行这些测试? -
为 BankAccount 类中的 deposit 方法编写集成测试。请使用 mock 来模拟 NotificationSystem。 -
为了实现该模块的完整覆盖,我还应加入哪些额外的测试?
部署
部署阶段涉及为生产环境准备代码并确保顺利发布。
Copilot Chat 可以帮助您配置部署脚本、搭建 CI/CD 流水线以及排查问题。以下是一些示例提示:
-
编写一个使用 GitHub Actions 部署 Node.js 应用到 AWS EC2 实例的部署脚本。 -
创建一个 GitHub Actions 工作流,以构建、测试并将 Python 应用部署到 Heroku。 -
分析此部署日志并说明导致部署失败的可能原因。
运维
在运维阶段,重点在于维护和监控生产环境中的应用,确保其平稳运行并满足用户期望。这通常包括调试线上问题、性能优化以及提升系统可靠性等任务。
您可以将 Copilot cloud agent 作为自治代理使用,帮助在生产环境中维护和改进您的应用。只需将 GitHub 议题指派给 Copilot,它会自主探索仓库、识别潜在修复方案并创建包含建议更改的拉取请求,随后自动请求您的审阅。
对于您自行处理的议题,可使用 Copilot Chat 来帮助分析日志、调试问题并提供优化建议。例如
-
分析此错误日志并提出可能的原因。 -
编写脚本监控该应用的内存使用情况,并在超出阈值时发送警报。 -
我该如何优化此代码中的数据库查询以提升性能?
后续步骤
在开始下一个任务之前,先花点时间识别最合适的工具,以让您的工作更快更高效。