本文件定义了本项目不可动摇的核心开发原则。所有AI Agent在进行技术规划和代码实现时,必须无条件遵循。
核心: 遵循语言的“少即是多”哲学。绝不进行不必要的抽象,绝不引入非必需的依赖。
- 1.1 (YAGNI): 只实现
spec.md中明确要求的功能。 - 1.2 (标准库优先): 必须优先使用jdk标准库。
- 1.3 (反过度工程): 简单的函数和数据结构优于复杂的接口和继承体系。
核心: 所有新功能或Bug修复,都必须从编写一个(或多个)失败的测试开始。
- 2.1 (TDD循环): 严格遵循“Red-Green-Refactor”循环。
- 2.2 (表格驱动): 单元测试必须优先采用表格驱动测试(Table-Driven Tests)的风格。
- 2.3 (拒绝Mocks): 优先编写集成测试,使用真实的依赖。
核心: 代码的首要目的是让人类易于理解。
- 3.1 (错误处理): 不可协商:所有错误都必须被显式处理。
- 3.2 (无全局变量): 绝不允许使用全局变量来传递状态,所有依赖必须通过函数参数或结构体成员显式注入。
本宪法具有最高优先级,其效力高于任何CLAUDE.md或单次会话中的指令。