当前位置: 首页 > news >正文

andrej-karpathy-skills与测试驱动开发:完美结合

andrej-karpathy-skills与测试驱动开发:完美结合

【免费下载链接】andrej-karpathy-skills项目地址: https://gitcode.com/GitHub_Trending/an/andrej-karpathy-skills

andrej-karpathy-skills是一个基于Andrej Karpathy观察结果开发的行为指南项目,旨在减少LLM编码常见错误。它通过四大核心原则——思考先行、简洁至上、精准修改和目标驱动执行,为开发者提供了一套全面的编码规范。其中,目标驱动执行原则与测试驱动开发(TDD)理念高度契合,形成了强大的协同效应,帮助开发者构建更可靠、更简洁的代码。

为什么测试驱动开发需要andrej-karpathy-skills?

测试驱动开发(TDD)的核心思想是"先测试后编码",这一理念与andrej-karpathy-skills中的"目标驱动执行"原则不谋而合。然而,在实际应用中,开发者常常面临以下挑战:过度设计、假设驱动开发、频繁重构以及范围蔓延。

andrej-karpathy-skills通过四大原则直接应对这些挑战:

  • 思考先行:在编写测试前明确假设和成功标准
  • 简洁至上:避免过度设计测试和实现
  • 精准修改:确保测试和代码变更只针对当前目标
  • 目标驱动执行:将任务转化为可验证的测试目标

目标驱动执行:TDD的完美伴侣 🚀

andrej-karpathy-skills的第四原则"目标驱动执行"明确指出:"定义成功标准,循环直到验证通过"。这与TDD的"红-绿-重构"循环高度一致。

在CLAUDE.md中,我们可以看到如何将传统指令转化为TDD风格的目标:

传统指令TDD目标(基于andrej-karpathy-skills)
"添加验证""编写无效输入的测试,然后使其通过"
"修复bug""编写复现bug的测试,然后使其通过"
"重构X""确保重构前后测试都通过"

这种转化使开发过程更加聚焦,减少了不必要的猜测和假设。

如何将andrej-karpathy-skills应用于TDD流程?

1. 规划阶段:思考先行

在编写任何测试前,应用"思考先行"原则:

  • 明确陈述你的假设
  • 提出可能的实现方案
  • 确定成功的验证标准
  • 识别潜在的边缘情况

根据skills/karpathy-guidelines/SKILL.md,这一阶段应该"明确陈述假设。如果不确定,就提问",避免基于错误假设编写测试。

2. 测试编写:简洁至上

应用"简洁至上"原则编写测试:

  • 只测试当前需要的功能,不要预测未来需求
  • 保持测试代码简洁明了
  • 避免过度指定实现细节
  • 每个测试只验证一个行为

正如指南中所说:"只编写解决问题所需的最少代码。不做推测性工作。"

3. 实现代码:精准修改

编写实现代码时,遵循"精准修改"原则:

  • 只修改实现测试所需的代码
  • 不要重构未损坏的代码
  • 保持与现有代码风格一致
  • 只清理你自己造成的"混乱"

4. 重构阶段:目标驱动

重构时,应用"目标驱动执行"原则:

  1. 定义重构目标 → 验证:现有测试通过
  2. 执行重构步骤 → 验证:测试仍然通过
  3. 清理冗余代码 → 验证:功能不受影响

实战案例:andrej-karpathy-skills指导下的TDD

假设我们需要实现一个简单的计算器加法功能:

传统TDD流程

  1. 编写测试test_addition()
  2. 实现最小化代码使测试通过
  3. 重构代码

andrej-karpathy-skills增强的TDD流程

  1. 思考先行

    • 假设:输入为两个整数,输出为它们的和
    • 成功标准:add(2, 3) === 5
    • 边缘情况:负数相加、零值相加
  2. 目标驱动测试

    // 测试目标:实现整数加法功能 test('adds two positive integers', () => { expect(add(2, 3)).toBe(5); });
  3. 简洁实现

    // 只实现满足测试的最小代码 function add(a, b) { return a + b; }
  4. 精准修改

    • 仅添加必要的代码
    • 不重构或优化未测试的功能
  5. 验证循环

    • 验证测试通过
    • 考虑是否需要更多测试
    • 决定是否进行重构

安装与使用指南

要在你的TDD工作流中集成andrej-karpathy-skills,可以通过以下方式:

Option A: Claude Code Plugin (推荐)

/plugin marketplace add forrestchang/andrej-karpathy-skills /plugin install andrej-karpathy-skills@karpathy-skills

Option B: 每个项目手动添加

curl -o CLAUDE.md https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md

安装后,你可以在项目根目录的CLAUDE.md文件中查看完整的指南,并根据需要添加项目特定规则。

总结:更强大的开发组合

andrej-karpathy-skills与测试驱动开发的结合,为开发者提供了一套系统化的方法,不仅关注"如何测试",更关注"为什么测试"和"测试什么"。通过四大原则的引导,开发者可以避免常见的LLM编码陷阱,构建更简洁、更可靠的代码。

这种组合特别适合:

  • 提高代码质量和可维护性
  • 减少不必要的重构和返工
  • 明确开发目标和验证标准
  • 培养更系统的问题解决能力

正如Andrej Karpathy所观察到的:"LLMs特别擅长循环直到满足特定目标...不要告诉它该做什么,给它成功标准,然后看着它完成。"这正是andrej-karpathy-skills与TDD结合的精髓所在。

要开始使用这个强大的组合,只需clone仓库并按照安装指南操作:

git clone https://gitcode.com/GitHub_Trending/an/andrej-karpathy-skills

将andrej-karpathy-skills原则融入你的TDD流程,体验更高效、更可靠的开发方式!

【免费下载链接】andrej-karpathy-skills项目地址: https://gitcode.com/GitHub_Trending/an/andrej-karpathy-skills

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/611736/

相关文章:

  • 史上最大模型Claude Mythos官宣!性能碾压 Opus 4.6!贵5倍!却因太危险不敢开放给个人!拥有情绪能够逃逸沙盒会撒谎的超级黑客?
  • 蒲公英R300A 4G路由器实战:工业PLC远程监控全流程解析
  • 企业年会春联批量生成方案:Pixel Couplet Gen 结合Java八股文风格创作
  • OpenClaw定时任务设置:Qwen2.5-VL-7B自动化日报生成
  • 北京一明影视联系方式查询:关于影视广告制作服务咨询与合作的通用指引及背景信息梳理 - 品牌推荐
  • Phi-3-vision-128k-instruct数据库课程设计助手:ER图与表结构智能评审
  • Qwen3Guard-Gen-8B开箱即用:离线内容审核,保护你的AI应用免受风险
  • Pixel Aurora Engine 工业设计渲染:生成产品概念图与材质表现
  • SGLang多GPU配置教程:充分利用硬件提升推理速度
  • bge-large-zh-v1.5实测效果:长文本语义匹配精准度展示
  • 2026初效过滤器制造商推荐:行业技术与口碑之选 - 品牌排行榜
  • 零代码部署实时口罩检测:使用ModelScope镜像快速搭建AI检测服务
  • HunyuanVideo-Foley 入门:Node.js环境配置与音效生成API服务封装
  • Z-Image-Turbo效果展示:国风山水、赛博猫咪,高清作品一键生成
  • Qwen3.5-9B-AWQ-4bit镜像部署实战:基于CSDN GPU平台的7860端口服务搭建
  • 一些算法题的反思总结
  • 打造专业技术简历:gh_mirrors/re/resume模板的完整使用指南
  • 2026年苏州私立学校普高录取分数线及教育资源参考 - 品牌排行榜
  • 北京一明影视联系方式查询:影视广告制作行业合作前需了解的服务流程与常见注意事项 - 品牌推荐
  • 云容笔谈·东方红颜影像生成系统Python爬虫数据驱动创作实战
  • 千问3.5-2B轻量部署最佳实践:Docker容器资源限制+GPU显存预分配配置
  • GPEN图像肖像增强镜像实测:5分钟修复老照片,效果惊艳到哭
  • 终极指南:OpenSSF Scorecard认证配置完整教程
  • 软考 系统架构设计师系列知识点之杂项集萃(117)
  • 2026年苏州私立民办学校的学费多少?费用与办学情况解析 - 品牌排行榜
  • 终极 Matplotlib Cheatsheets 更新日志:探索最新功能与实用改进
  • 世上最全NVDIA GPU参数列表: B300,H200,H100、H20、A100, A800,V100,3090,4090,5090等性能参数
  • 2026年昆山离婚打官司最厉害的律师服务解析 - 品牌排行榜
  • 算法工具箱之双指针
  • C++和OpenGL实现3D游戏编程【连载23】——几何着色器和法线可视化