概述
AI 工具的使用正日益成为软件开发人员日常工作流的标准部分。 若要想在就业市场上具有竞争力,就必须了解作为开发人员,在面对每项任务时应使用哪些 AI 工具。
GitHub 的 AI 工具为软件开发生命周期 (SDLC) 的每个阶段提供帮助:
- 规划:
- Copilot 对话助手 可以帮助你集思广益,为项目确定最佳技术****。
- Copilot 对话助手 可以创建议题来帮助跟踪创意****。
- 代码创建:
- Copilot 代码补全有助于在你键入时添加代码****。
- 下一个编辑建议 (公共预览版) 可预测你可能进行的下一次编辑,并给出相应的补全建议****。
- Copilot 对话助手 可以在对话环境中回答问题并提供建议****。
- 你可以将 Copilot 编码智能体 分配给一个开放的议题,它会自动提出一个拉取请求来处理必要的更改****。
- 审查:
- Copilot 代码评审 会在你喜欢的 IDE 中提供反馈,或在 GitHub 上以拉取请求审查形式提供反馈****。
- 测试:
- Copilot 对话助手 可帮助你编写和调试测试****。
- 部署:
- Copilot 对话助手 可帮助你配置持续集成和持续部署 (CI/CD) 管道****。
- 运行:
- Copilot 编码智能体 (公共预览版) 可为开放议题提出拉取请求****。
- Copilot 对话助手 可帮助你处理当前正在进行的任务****。
规划
在规划阶段,你定义项目的目标、范围和要求,通过概述需要生成的内容及其实现方式来设置开发方向。
在 GitHub 上,使用由 Copilot 提供支持的问题创建 (公共预览版) 来简化创意跟踪****。 提供简短的自然语言提示(或上传图像),Copilot 将为你生成结构化问题。
选择需要解决的问题后,Copilot 对话助手 可以帮助你为项目集思广益,了解可能需要的各种工具、库和资源****。 可以询问 Copilot 对话助手 有关你所设想的项目的一般性问题,以获得方向建议。 例如:
I'd like to build an web app that helps users track their daily habits and provides personalized recommendations. Can you suggest features and technologies I could use?
作品
在创建阶段,你将为应用程序编写和完善代码。 你可以通过实现功能、修复 bug 和迭代代码库来实现项目。
当你在喜欢的 IDE 或 GitHub 上进行编码时,Copilot 会提供自动补全风格的编码建议,帮助你更快地起草和完善代码****。 你可以直接编写代码,或在 IDE 中使用评论以自然语言描述意图,Copilot 将生成相关建议。
通过 下一个编辑建议 (公共预览版),Copilot 可以根据你主动进行的更改预测相关的编辑****。 例如,如果重命名变量或更新函数的参数,则会建议在整个代码中进行相应的更新。 这有助于保持一致性并减少错误的可能性。
在询问模式中使用 Copilot 对话助手
在询问模式下使用 Copilot 对话助手(作为配对程序员),在编码任务中获得帮助,理解棘手的概念,并改进代码****。 可以实时向它提问、获取解释或请求建议。
-
Can you explain what this JavaScript function does? I'm not sure why it uses a forEach loop instead of a for loop.
-
What’s the difference between let, const, and var in JavaScript? When should I use each one?
在编辑模式中使用 Copilot 对话助手
当你想要对 Copilot 提出的编辑进行更精细的控制时,请在编辑模式下使用 Copilot 对话助手****。 在编辑模式下,选择 Copilot 可以更改的文件,在每次迭代时为 Copilot 提供上下文,并确定是否接受建议的编辑。
-
Refactor the calculateTotal function to improve readability and efficiency.
-
The login function is not working as expected. Can you debug it?
-
Format this code to follow Python’s PEP 8 style guide.
在代理模式中使用 Copilot 对话助手
在代理模式中,Copilot 对话助手 可以帮助自动执行重复任务,并直接在项目中管理工作流****。 在进行代码更改后,使用它来创建拉取请求。 在处理项目时,还可以使用它在后台运行测试和 Linter。
-
Create a pull request for the recent changes in the user-auth module and include a summary of the updates.
-
Run all tests and linters for the payment-processing module and provide a summary of any issues or errors found.
评价
审查阶段确保代码的质量和可靠性****。 它涉及分析更改、识别潜在问题以及改进代码库的整体结构和功能。
当在 IDE 中编码时,要求 Copilot:
- 审查所选更改: 突出显示代码的特定部分,并要求 Copilot 进行初步审查。 这非常适合对较小的编辑进行快速反馈。
- 审查全部更改: 请求对文件或项目中的所有更改进行深入审查。 Copilot 将分析你的工作,并提供改进建议。
准备好在 GitHub 网站上获取其他人的反馈时,首先在拉取请求上将 Copilot 分配为审查者****。 它会自动添加评论,在人工审查前突出显示可以提高代码质量或识别潜在错误的地方。
测试
测试阶段验证应用程序是否正常工作。 此阶段涉及编写和运行测试来捕获 bug、确保功能并在部署之前维护代码质量。
Copilot 对话助手 可以通过生成单元和集成测试、调试故障和建议其他测试用例来帮助确保全面覆盖****。 下面是一些提示示例:
-
Write unit tests for this function to calculate the factorial of a number. Include edge cases like 0 and negative numbers.
-
How do I run these tests using Python's unittest framework?
-
Write integration tests for the deposit function in the BankAccount class. Use mocks to simulate the NotificationSystem.
-
What additional tests should I include to ensure full coverage for this module?
部署
部署阶段涉及为生产准备代码并确保顺利发行。
Copilot 对话助手 可帮助配置部署脚本、设置 CI/CD 管道以及排查问题****。 下面是一些提示示例:
-
Write a deployment script for a Node.js application using GitHub Actions to deploy to an AWS EC2 instance.
-
Set up a GitHub Actions workflow to build, test, and deploy a Python application to Heroku.
-
Analyze this deployment log and suggest why the deployment failed.
操作
在操作阶段,重点是在生产中维护和监视应用程序,以确保应用程序顺利运行,并满足用户的期望。 此阶段通常涉及调试生产问题、优化性能以及确保系统可靠性等任务。
可以将 Copilot 编码智能体 (公共预览版) 用作自主代理,帮助维护和改进生产中的应用程序****。 将 GitHub 问题分配给 Copilot,它将自主浏览仓库,识别潜在的修复,并创建包含建议更改的拉取请求。 然后,它会自动请求你进行审查。
对于自己正在解决的问题,请使用 Copilot 对话助手 来帮助分析日志、调试问题和提出优化建议****。 例如:
-
Analyze this error log and suggest possible causes for the issue.
-
Write a script to monitor the memory usage of this application and alert when it exceeds a threshold.
-
How can I optimize the database queries in this code to improve performance?
后续步骤
在开始下一个任务之前,请花点时间确定正确的工具,以提高工作速度和效率。