古法编程”并非复古怀旧或拒绝进步,并非玩梗而是严肃的,是一种在 AI 泛滥时代,为了确保系统极高可靠性、性能极致优化以及开发者认知不退化而存在的深度开发模式。
old-code/
├── .claude/
│ ├── README.md # 项目主说明文档
│ ├── commands/
│ │ └── old-code # 命令行触发器配置
│ ├── skills/
│ │ └── old-code/
│ │ └── SKILL.md # 核心技能定义文件
│ └── settings.local.json # 权限配置文件
└── README.md # 本文件
/old-code
# 或
/old-code -p- 这是默认模式,代码生成后会进行原理反问
- 要求开发者能够解释每行代码的原理和底层实现细节
- 适合需要深入理解代码的场景
/old-code -c- 逐行展示代码,每行都带有详细注释
- 接受用户模仿输入并校验正确性
- 每完成一行代码(不计注释),才允许查看下一行
- 专注于理解和模仿输入
例如
/old-cod 生成java版本快排算法
/old-cod -c 生成java版本快排算法
/old-cod -p 生成java版本快排算法
- 每一行进入生产环境的代码,开发者必须能解释其在内存、CPU寄存器或运行时环境中的行为
- 拒绝"生成即运行"
- 坚持先查阅官方一手文档,而非依赖AI的二手总结
- 在复杂逻辑实施前,优先使用纸笔或白板进行算法推演
- 避免通过AI反复"试错"生成
| 维度 | AI驱动模式 | 古法编程模式 |
|---|---|---|
| 知识获取 | 问AI「怎么写」 | 查阅官方规范(ISO/RFC/官方文档) |
| 问题建模 | 直接描述需求让AI生成代码 | 抽象问题本质(数据结构/状态机/IO模型) |
| 调试逻辑 | 喂报错给AI让它猜测修复 | 使用Debugger分析堆栈/内存/线程状态 |
| 代码复用 | 复制粘贴AI生成的片段 | 理解逻辑后手写实现并抽象封装 |
| 架构设计 | 由多次AI生成逐步拼接 | 人工设计模块边界、依赖关系与数据流 |
从"随机性"到"确定性":
- AI的输出具有随机性
- 通过官方标准获得的知识是软件世界的物理定律
从"观察表面"到"洞察本质":
- 依赖Debugger观察堆栈和内存
- 能看到数据在硬件中流动的真实样子
- 提升"代码直觉"的唯一途径
从"广度覆盖"到"深度掌控":
- 分析源码虽然枯燥
- 能明白每一行高级代码背后的真实代价
- 写出真正高性能的系统
当你希望利用AI的速度同时保持古法编程的严谨性时,应该这样下达Prompt:
请根据 [具体库/语言版本] 的官方文档规范给出实现建议。如果有多个方案,请对比它们的内存占用和CPU周期成本,而非仅仅给出最常用的方案。
针对代码审查时,使用:
针对这段代码,请模拟编译器/解释器,逐行向我说明变量在内存堆栈中的变化过程,并指出可能存在的边界溢出风险。
- AI驱动模式:人作为"代码接收者"
- 古法编程模式:人主导设计,AI作为辅助工具
-
破除"黑盒幻觉":AI经常生成看似完美但含有隐蔽漏洞的代码。古法能力是识别并修正"AI幻觉"的终极防线。
-
应对极端场景:在涉及内存管理、高并发锁机制、嵌入式驱动等AI语料稀少的领域,只有具备古法功底的开发者能解决问题。
-
维持技术直觉:过度依赖AI会导致开发者"脑力萎缩"。古法编程能训练对代码坏味道的嗅觉,保持解决复杂问题的底层能力。
总结:古法编程是开发者的"肌肉记忆"。AI可以是你的外骨骼机甲,但古法编程能力决定了你脱掉机甲后,是否依然是一名强大的战士。