AI Prompt Engineering · 课时

调试与重构提示

利用 LLM 识别现有代码中的错误,并提出重构和优化建议

第 2 / 3 课11 个步骤

调试与重构提示 是 CoddyKit 上的免费 AI Prompt Engineering 课时。 这是第 2 节课,共 3 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 AI Prompt Engineering 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 AI Prompt Engineering 课程共包含 3 节课。

使用 LLM 提升代码质量

大型语言模型(LLM)不仅可用于生成新代码;它们也是改进现有代码的强大助手。您可以把它们看作智能代码审查员!

本课将探讨 LLM 如何帮助您:

  • 识别并修复代码中的错误。
  • 为重构提出改进建议。
  • 优化代码,以提升性能和可读性。

使用人工智能调试:捕捉错误

调试是查找并修复软件中错误(缺陷)的过程。这可能是一项耗时的任务。

LLM 可以通过以下方式显著加快调试速度:

  • 分析代码以发现常见错误。
  • 精确定位错误位置。
  • 提出具体解决方案和修正后的代码。

下面来看一个例子。

第一个调试提示

设想您有一个本应计算列表中数字总和的 Python 函数,但它无法正常工作。您可以提示 LLM 查找错误。

这是一个存在错误的 Python 函数。您能找出错误吗?

def calculate_sum(numbers):
    total = 0
    for num in numbers:
        total + num # This line is the bug!
    return total

my_list = [1, 2, 3]
print(f"The sum is: {calculate_sum(my_list)}")

LLM 的调试洞见

如果您向 LLM 提供前面的代码,并使用类似“查找此 Python 函数中的错误并说明如何修复它”的提示,它就能正确识别问题。

问题在于,total + num 会计算出一个值,但不会将其重新赋值给 total。以下是修正后的代码:

def calculate_sum(numbers):
    total = 0
    for num in numbers:
        total = total + num # Corrected assignment
    return total

my_list = [1, 2, 3]
print(f"The sum is: {calculate_sum(my_list)}")

使用 LLM 重构:整洁代码

重构是在不改变外部行为的情况下重新组织现有计算机代码的过程。这就像整理房间时不移动任何家具一样!

重构的主要目标是改善:

  • 可读性:让代码更易于理解。
  • 可维护性:简化未来的更新和修改。
  • 效率:有时让代码运行得更快(尽管这并非其主要目标)。

基本重构提示

LLM 可以建议让代码更简洁、更符合 Python 风格(遵循 Python 的最佳做法)的方法。

请看这个处理列表的函数。它能够运行,但是否可以写得更简洁?

def process_positive_squares(data_items):
    result_list = []
    for item in data_items:
        if item > 0:
            squared_val = item * item
            result_list.append(squared_val)
    return result_list

numbers = [1, -2, 3, -4, 5]
print(f"Processed list: {process_positive_squares(numbers)}")

更简洁的版本

使用类似“重构这个 Python 函数,以提高可读性并使其更简洁,同时使用列表推导式”的提示时,LLM 可能会给出这样的建议:

列表推导式是一种根据现有序列创建新列表的紧凑方式。

def process_positive_squares(data_items):
    # Using a list comprehension for conciseness
    return [item * item for item in data_items if item > 0]

numbers = [1, -2, 3, -4, 5]
print(f"Processed list: {process_positive_squares(numbers)}")

使用 LLM 优化代码

除了可读性,LLM 还可以建议如何优化代码,以提升性能。这通常涉及用内置函数或更高效的算法替换自定义循环。

这是一个查找字符首次出现位置的函数。它可以运行,但 Python 中有更优化的方式。

def find_char_manually(text, char):
    for i in range(len(text)):
        if text[i] == char:
            return i
    return -1

my_string = "hello world"
print(f"'o' found at index: {find_char_manually(my_string, 'o')}")

利用内置函数

这里,一个好的提示可以是:“如何优化这个用于查找字符首次出现位置的 Python 函数?”

LLM 很可能会指出 Python 高度优化的内置字符串方法,例如 .find()。

def find_char_optimized(text, char):
    # Using the built-in string find method, which is highly optimized
    return text.find(char)

my_string = "hello world"
print(f"'o' found at index: {find_char_optimized(my_string, 'o')}")

快速检查

理解调试与重构之间的区别,是有效改进代码的关键。

回顾:您的人工智能代码助手

在本课中,我们了解了 LLM 如何成为提升代码质量的宝贵工具。

  • 调试:LLM 可以快速识别错误、解释错误原因并提出修复建议,为您节省时间。
  • 重构:LLM 可以帮助改善代码结构、可读性和可维护性,通常会建议使用更简洁或更符合 Python 风格的方式编写代码。
  • 优化:LLM 还可以指出性能瓶颈,并建议更高效的方法。

请记住,编写清晰具体的提示,才能从您的人工智能代码助手获得最佳结果!

免费开始

用 AI 导师学习 AI Prompt Engineering — 免费

在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。

课程
53
课程
199

常见问题解答

「调试与重构提示」课时是免费的吗?

是的 — 「调试与重构提示」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 AI Prompt Engineering 课程的其余内容,请升级到 CoddyKit PRO。 AI Prompt Engineering 课程共包含 3 节课。

「调试与重构提示」这节课中我会学到什么?

利用 LLM 识别现有代码中的错误,并提出重构和优化建议 你通过在浏览器中直接运行的动手代码来练习 AI Prompt Engineering,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 AI Prompt Engineering 需要有经验吗?

无需任何先前经验。CoddyKit 上的 AI Prompt Engineering 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 3 节。

「调试与重构提示」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 AI Prompt Engineering 课中编写并运行代码吗?

能。每节 AI Prompt Engineering 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 使用 LLM 生成代码
  2. 调试与重构提示
  3. 将 LLM 集成到 IDE
← 返回 AI Prompt Engineering