Skip to main content

为任务选择合适的 AI 工具

了解 GitHub的 AI 工具,以及它们如何用于帮助开发软件。

概述

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>

尾注 %}