概述
AI 工具的使用正日益成为软件开发人员日常工作流的标准部分。 若要在就业市场中具有竞争力,请务必了解要用于你作为开发人员的每个任务的 AI 工具。
GitHub 的 AI 工具在软件开发生命周期(SDLC)的每个阶段提供帮助。
-
**计划**:-
**Copilot对话** 可以帮助你集思广益,为项目确定最佳技术。 -
**Copilot对话** 可以创建议题帮助跟踪创意。
-
-
* Copilot 内联建议帮助你在键入时添加代码。 * 下一个编辑建议 (公共预览版) 预测你可能进行的下一次编辑,并给出相应的补全建议。 * Copilot对话 可以在对话环境中回答问题并提供建议。**代码创建**:- 可将 Copilot编程助理 分配给一个开放的问题,它会自动提出一个拉取请求来处理必要的更改。
-
* Copilot代码审查 会在你最喜欢的 IDE 中或在 GitHub 上作为 Pull Request 审查给出反馈。**评审**: -
* Copilot对话 可帮助你编写和调试测试。**测试**: -
**部署**:-
**Copilot对话** 可帮助你配置持续集成和持续部署 (CI/CD) 管道。
-
-
* Copilot编程助理 可以为未解决的问题创建拉取请求。 * Copilot对话 可帮助你处理当前正在进行的任务。**操作**:
Planning
在规划阶段,你可以定义project的目标、范围和要求,通过概述需要生成的内容及其实现方式来设置开发方向。
在 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?
创建
在创建阶段,你将为应用程序编写和完善代码。 在这里,您可以通过实现功能、修复漏洞和迭代代码库,将项目生动地展现出来。
当你在喜欢的 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.
Reviews
审查阶段确保代码的质量和可靠性****。 它涉及分析更改、识别潜在问题以及改进代码库的整体结构和功能。
当在 IDE 中编码时,要求 Copilot:
-
**审查所选更改:** 突出显示代码的特定部分,并要求 Copilot 进行初步审查。 这非常适合对较小的编辑进行快速反馈。 -
**重新查看所有更改:** 请求更深入地查看文件或project中的所有更改。 Copilot 将分析你的工作,并提供改进建议。
准备好在 GitHub 网站上获取其他人的反馈时,首先在拉取请求上将 Copilot 分配为审查者****。 它会自动添加评论,在人工审查前突出显示可以提高代码质量或识别潜在错误的地方。
Testing
测试阶段验证应用程序是否正常工作。 此阶段涉及编写和运行测试来捕获 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?
后续步骤
在开始下一个任务之前,请花点时间确定正确的工具,以提高工作速度和效率。
注释 %}
准备好为下一项任务确定合适的 AI 工具了吗?
<a href="https://docs.github.io/success-test/yes.html" target="_blank" class="btn btn-outline mt-3 mr-3 no-underline">
<span>Yes</span></a><a href="https://docs.github.io/success-test/no.html" target="_blank" class="btn btn-outline mt-3 mr-3 no-underline"><span>No</span></a>
尾注 %}