aweminds abac2936e7 docs: translate README into Chinese
Co-Authored-By: Cursor Grok 4.6 <cursor@cursor.com>
2026-08-25 04:24:46 +00:00
2026-07-30 15:54:38 +08:00
2026-07-30 15:54:38 +08:00
2026-08-25 04:24:46 +00:00
2026-07-30 15:54:38 +08:00

Code Mentor - AI Programming Tutor

一个全面的 OpenClaw 技能,通过互动教学、代码审查、调试指导和动手实践来学习编程。

功能特性

🎓 8 种教学模式

  1. 概念学习 - 通过渐进式示例学习编程概念
  2. 代码审查与重构 - 获取代码反馈并获得引导式改进
  3. 调试侦探 - 使用苏格拉底式方法学习调试(不直接给出答案!)
  4. 算法练习 - 掌握数据结构和算法
  5. 项目指导 - 在架构指导下设计和构建项目
  6. 设计模式 - 学习何时以及如何应用设计模式
  7. 面试准备 - 练习编程面试和系统设计
  8. 语言学习 - 通过映射已知语言来学习新语言

📚 综合参考资料

  • 算法:15 种以上常见模式(双指针、滑动窗口、DFS/BFS、动态规划等)
  • 数据结构:数组、字符串、树、图、堆
  • 设计模式:创建型、结构型、行为型模式及示例
  • 语言Python 和 JavaScript 快速参考
  • 最佳实践:整洁代码、SOLID 原则、测试策略

🛠️ 实用脚本

  • analyze_code.py:针对错误、风格、复杂度、安全性进行静态代码分析
  • run_tests.py:以格式化输出执行测试(pytest、unittest、jest
  • complexity_analyzer.py:使用大 O 表示法分析时间/空间复杂度

安装

依赖要求

# 用于脚本功能(可选)
pip install -r requirements.txt

该技能无需脚本即可完美运行——它们是可选的增强功能!

使用方法

快速开始

激活该技能并告诉它:

  1. 你的经验水平(初学者/中级/高级)
  2. 你想学习或处理的内容
  3. 你偏好的学习风格

示例

"我是初学者,教我 Python 基础知识"
"帮我调试这段代码" [粘贴代码]
"给我一个中等难度的算法问题"
"审查我的实现" [附加文件]
"我想构建一个 REST API"

教学模式

模式 1:概念学习

"教我递归"
"解释 JavaScript 中闭包的工作原理"
"什么是动态规划?"

模式 2:代码审查

"审查我的代码" [粘贴或附加文件]
"如何改进这个函数?"
"这遵循了最佳实践吗?"

模式 3:调试(苏格拉底式方法)

"帮我调试这个错误"
"我的函数返回了 None 而不是总和"
"为什么这个循环不工作?"

导师会通过提问引导你,帮助你自己发现错误!

模式 4:算法练习

"给我一个简单的算法问题"
"练习链表"
"LeetCode 风格的中等难度问题"

模式 5:项目指导

"帮我设计一个任务管理 API"
"我正在构建一个博客,从哪里开始?"
"我应该使用什么技术栈?"

模式 6:设计模式

"教我单例模式"
"什么时候应该使用工厂模式?"
"展示观察者模式的实际应用"

模式 7:面试准备

"模拟技术面试"
"系统设计:设计 Twitter"
"练习数组和字符串"

模式 8:语言学习

"我懂 Python,教我 JavaScript"
"如何在 Rust 中做 X"
"比较 Python 和 Java"

使用脚本

代码分析器

分析代码中的错误、风格违规、复杂度和安全问题。

# 分析一个 Python 文件
python scripts/analyze_code.py mycode.py

# 获取 JSON 输出
python scripts/analyze_code.py mycode.py --format json

# 分析 JavaScript
python scripts/analyze_code.py app.js

输出包括

  • 指标(行数、注释、复杂度)
  • 按严重程度分类的问题(严重、警告、信息)
  • 具体的改进建议

测试运行器

以格式化输出运行测试。

# 自动检测框架
python scripts/run_tests.py tests/

# 指定框架
python scripts/run_tests.py tests/ --framework pytest

# JSON 输出
python scripts/run_tests.py tests/ --format json

支持

  • pytestPython
  • unittestPython
  • JestJavaScript

复杂度分析器

分析时间和空间复杂度。

# 分析所有函数
python scripts/complexity_analyzer.py algorithm.py

# 分析特定函数
python scripts/complexity_analyzer.py algorithm.py --function bubble_sort

# JSON 输出
python scripts/complexity_analyzer.py algorithm.py --format json

输出包括

  • 时间复杂度(大 O 表示法)
  • 空间复杂度
  • 递归检测
  • 优化建议

目录结构

code-mentor-1.0.0/
├── SKILL.md                    # 主要技能定义
├── README.md                   # 本文件
├── requirements.txt            # Python 依赖
│
├── references/                 # 知识库
│   ├── algorithms/
│   │   └── common-patterns.md  # 15 种以上算法模式
│   ├── data-structures/
│   │   ├── arrays-strings.md
│   │   └── trees-graphs.md
│   ├── design-patterns/
│   │   └── creational-patterns.md
│   ├── languages/
│   │   └── python-reference.md
│   ├── best-practices/
│   │   └── clean-code.md
│   └── user-progress/
│       └── learning_log.md     # 自动更新你的学习进度
│
└── scripts/                    # 实用脚本
    ├── analyze_code.py
    ├── run_tests.py
    └── complexity_analyzer.py

进度追踪

你的学习进度会在每次会话后自动保存到 references/user-progress/learning_log.md。这包括:

  • 已涵盖的主题和已掌握的概念
  • 已解决的算法问题
  • 已练习的技能和已使用的模式
  • 重要的见解和突破
  • 需要更多复习的领域

你的进度会跨会话持续存在,因此你可以从上次中断的地方继续!

学习方法

苏格拉底式方法(调试)

导师在调试时从不直接给出答案。而是:

  1. 观察:"你期望什么,实际发生了什么?"
  2. 定位"问题可能在哪里?"
  3. 假设:"你认为它为什么失败?"
  4. 测试"你如何测试它?"
  5. 解决方案"什么能修复它?"

这教会你独立调试!

渐进式提示(算法)

练习算法时:

  1. 轻推:"思考如何手动解决这个问题"
  2. 方向:"考虑使用哈希映射……"
  3. 结构"这是通用方法……"
  4. 骨架:"这是一个供你填写的模板……"
  5. 解决方案:带解释的完整解决方案(仅在需要时)

自适应难度

导师会根据你的水平进行调整:

  • 初学者:清晰的解释、简单的示例、更多的指导
  • 中级:最佳实践、有挑战性的问题、较少的搀扶
  • 高级:架构、优化、复杂场景

示例

示例 1:学习一个概念

你:"教我 Python 中的列表推导式"

导师:让我们探索列表推导式!它们是创建列表的一种简洁方式。
这是一个传统的循环:

squares = []
for x in range(10):
    squares.append(x ** 2)

这是作为列表推导式的相同内容:

squares = [x ** 2 for x in range(10)]

你注意到语法有什么特点吗?
[互动讨论继续……]

示例 2:调试(苏格拉底式)

你:"我的函数返回了 None 而不是总和!"

导师:让我们调查一下。你期望这个函数返回什么?

你:"列表中数字的总和"

导师:好的。你能追踪第一次迭代吗?sum 变量发生了什么?

[引导你发现缺失的 return 语句]

示例 3:代码审查

你:[提交带有嵌套循环的代码]

导师:我看到了一个优化的机会。这个嵌套循环的时间复杂度是多少?

你:"O(n²)"

导师:完全正确。对于每个元素,你都在检查其他每个元素。
你能想到一个提供 O(1) 查找的数据结构吗?

[引导重构以使用哈希映射]

有效学习的技巧

  1. 定期练习 - 持之以恒胜过临时抱佛脚
  2. 先挣扎 - 在请求提示之前尝试解决问题
  3. 提问 - 导师鼓励好奇心
  4. 构建项目 - 将所学应用于真实代码
  5. 审查你的工作 - 使用代码审查模式来改进
  6. 测试你的代码 - 在学习过程中编写测试

支持的语言

主要关注Python、JavaScript、TypeScript

也支持Java、C++、Go、Rust、C#、Ruby、PHP、Swift、Kotlin 等!

故障排除

脚本不工作?

安装依赖:

pip install -r requirements.txt

对于 JavaScript 测试(Jest):

npm install --save-dev jest

找不到参考资料?

参考资料按类别组织:

  • 算法:references/algorithms/
  • 数据结构:references/data-structures/
  • 设计模式:references/design-patterns/
  • 语言:references/languages/
  • 最佳实践:references/best-practices/

技能不理解你的请求?

尝试更具体一些:

  • "教我 [概念]"
  • "给我一个关于 [主题] 的 [难度] 问题"
  • "审查我的 [语言] 代码"
  • "帮我调试这个 [错误]"

贡献

想要添加更多参考资料或改进该技能?

  1. 将新算法添加到 references/algorithms/
  2. 将语言参考资料添加到 references/languages/
  3. 将设计模式贡献到 references/design-patterns/
  4. 使用新功能增强脚本

许可证

MIT 许可证 - 随意使用和修改!

致谢

使用 OpenClaw 框架构建,用于创建教育性 AI 技能。


学习愉快! 🚀

记住:学习编程的最佳方式是通过实践。这位导师在这里指导你、挑战你,并帮助你自行发现解决方案。挣扎是学习的一部分——拥抱它!

S
Description
编程与技术主题讲解(WeHub 中文 Skill Top200 第 117 项)
Readme 85 KiB
Languages
Python 100%