跳到正文
AIupick

编程

理解并修复一小段代码

先让编程工具解释代码,每次只做一处小改动,并且一切都自己测试。

适合的工具类型:编程

分步说明

实例:一个遇到空列表就崩溃的 Python 函数

  1. 1
    绝不要粘贴密码、API 密钥或客户的私人数据。

    例如

    这个函数所在的文件里还有一个 API 密钥。只复制函数,绝不复制密钥。

  2. 2
    描述代码应该做什么,以及你看到的确切报错或行为。

    例如

    你输入的内容

    这个 Python 函数应该返回一组数字的平均值: def average(numbers):    return sum(numbers) / len(numbers) average([2, 4, 6]) 能正常运行,但 average([]) 会停止并报错:ZeroDivisionError: division by zero对于空列表,它应该返回 None。
  3. 3
    先让它解释代码,再让它修改。

    例如

    你输入的内容

    请先解释函数的每一部分做了什么,以及为什么空列表会出错。先不要修改代码。

    示例回答,由我们撰写。你的工具给出的回答会有所不同。

    sum(numbers) 把数字加起来,len(numbers) 统计数字的个数。对于空列表,两者都是 0,而 Python 不能除以零,所以会抛出 ZeroDivisionError。
  4. 4
    每次只应用一处小改动。

    例如

    你输入的内容

    现在建议一个最小改动,让它对空列表返回 None。

    示例回答,由我们撰写。你的工具给出的回答会有所不同。

    def average(numbers):    if not numbers:        return None    return sum(numbers) / len(numbers)
  5. 5
    自己运行代码和测试,并阅读每一行改动。

    例如

    两种情况都自己运行一遍:average([2, 4, 6]) 应该得到 4.0,average([]) 应该得到 None。读一读新增的两行:它们只处理空列表,没有改动其他任何东西。

可复制的模板

这是一段 [编程语言] 代码:
[代码]
它应该 [预期行为],但实际上 [实际行为或报错信息]。
请先一步一步解释这段代码做了什么。
然后建议能修复问题的最小改动,并解释原因。
告诉我怎样测试这个修复。

让 AI 标出不确定的地方,并不能让它的回答变得正确。重要的部分仍要自己核对。

检查结果

  • 你理解这处改动做了什么。
  • 代码在你的电脑上能运行,测试也通过了。
  • 没有把任何机密信息交给工具。
  • 这处改动没有破坏代码的其他部分。
  • 你阅读了每一行改动。

可以试试的工具

按名称列出,不是排名。只有同类工具才能并排对比。

  • Amazon Q Developer 是 AWS 推出的软件开发 AI 助手,可在代码编辑器、命令行和 AWS 控制台中使用;新手可以试用它的免费层级,获取代码建议或询问 AWS 相关问题。

    主要特点: Amazon Q in the AWS Management Console, Java upgrade transformation, Diagnose with Amazon Q

    已核实的免费方案最便宜的付费方案:Pro Tier $19.00 / 月
  • Cursor

    编程

    Cursor 是 Anysphere 推出的 AI 代码编辑器和编程智能体,以桌面应用、命令行工具和云端智能体的形式运行;新手可以用它在输入时获取代码建议,或者让智能体解释和修改项目。

    主要特点: Tab, Cloud Agents, Bugbot

    已核实的免费方案最便宜的付费方案:Pro $20.00 / 月
  • GitHub Copilot 是 GitHub 推出的 AI 编程助手,可在代码编辑器、命令行、GitHub.com、GitHub Mobile 和桌面应用中使用;新手可以用它在输入时获取代码建议,或者询问关于某个代码库的问题。

    主要特点: Copilot cloud agent, Copilot code review, Third-party coding agents (Claude and Codex)

    已核实的免费方案最便宜的付费方案:Copilot Pro $10.00 / 月
  • JetBrains AI Assistant 是一个插件,可为 JetBrains IDE 添加 AI 聊天、代码补全和编程智能体;新手可以在 IntelliJ IDEA 或 PyCharm 中用它获取代码建议,或者询问关于项目的问题。

    主要特点: JetBrains Air in IDEs, Junie, Claude Agent and Codex in AI Chat

    已核实的免费方案最便宜的付费方案:AI Pro $10.00 / 月
  • Tabnine

    编程

    Tabnine 是一款用于代码编辑器和终端的 AI 编程助手,现归 Tricentis 所有,当前文档介绍的是企业方案;如果你的组织提供访问权限,新手可以用它进行代码补全,并就代码库进行对话。

    主要特点: Private installation (on-premises or VPC), Context Engine, Provenance and Attribution

    免费方案:尚未确认付费方案尚未确认
Esc
↑ ↓ 移动Enter 打开