Skip to main content

为任务选择合适的 AI 工具

了解 GitHubAI 工具以及它们如何用于帮助开发软件。

概述

AI 工具的使用正日益成为软件开发人员日常工作流的标准部分。 若要在就业市场中具有竞争力,请务必了解要用于你作为开发人员的每个任务的 AI 工具。

          GitHub的 AI 工具协助软件开发生命周期(SDLC)的各个阶段:

* 计划: * ** Copilot对话 ** 可以帮助你集思广益,并识别项目的最佳技术。 * ** Copilot对话 ** 可以创建问题来帮助跟踪你的想法。 * ** Copilot 云代理 ** 可帮助你研究存储库并为任务创建详细的实施计划。 * 代码创建: * ** Copilot 内联建议** 有助于在键入时添加代码。 * ** 下一个编辑建议 ** (公共预览版) 预测你可能要进行的下一次编辑,并建议完成该编辑。 * ** Copilot对话 ** 可以在对话环境中回答问题并提供建议。

  • 你可以将 Copilot 云代理 分配给一个待处理的问题,它会自动提出拉取请求来解决必要的更改。 或者,Copilot 云代理 可以先创建分支并对代码更改进行迭代,然后再打开拉取请求。
  •         **评审**:
    
    * ** Copilot代码审查 ** 在您喜欢的 IDE 中提供反馈,或作为 GitHub 上的拉取请求评审提供反馈。
  •         **测试**:
    
    * ** 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?

创建

在创建阶段,你将为应用程序编写和完善代码。 在这里,您可以通过实现功能、修复漏洞和迭代代码库,将项目生动地展现出来。

          Copilot在您喜欢的 IDE 中或GitHub编写代码时,提供自动完成风格的**编码建议**,帮助您更快地撰写和完善代码。 可以使用 IDE 中的注释直接编写代码或用自然语言描述意向,并 Copilot 生成相关建议。

使用 接下来的编辑建议 (公共预览版), Copilot 根据你正在主动进行的更改预测相关编辑。 例如,如果重命名变量或更新函数的参数,则会建议在整个代码中进行相应的更新。 这有助于保持一致性并减少错误的可能性。

在询问模式下使用Copilot对话

ask 模式下使用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>