宪法的核心作用
-
质量保证:通过不可变原则确保代码质量一致性
-
架构统一:不同 AI 模型、不同开发者产出统一架构的代码
-
过程标准化:将开发流程标准化为可重复的宪法检查流程
-
复杂性控制:通过原则约束防止过度工程和技术债务积累
-
长期维护性:确保代码库随时间推移仍保持高质量和一致性
宪法在SDD中的整体作用流程
[用户提出想法]
|
v
[创建规范] -> /speckit.specify -> 生成spec.md
|
v
[创建实现计划] -> /speckit.plan -> 生成plan.md
| |
| v
| [宪法检查] -> 通过? -> 是 -> 继续生成计划
| |
| 否
| v
| [记录问题和理由] -> 继续生成计划(但标记问题)
|
v
[生成任务] -> /speckit.tasks -> 生成tasks.md(任务列表,遵循宪法原则)
|
v
[执行任务] -> 按照任务列表执行,每个任务遵循宪法原则(如先写测试,再写代码,使用CLI等)
|
v
[生成代码] -> 代码符合宪法原则:模块化、可测试、简单等
-
开始于一个想法(用户提示)。
-
使用
/speckit.specify命令创建规范(spec.md),此时宪法尚未直接介入,但规范需要为后续的宪法检查做准备。 -
使用
/speckit.plan命令创建实现计划(plan.md),此时宪法开始发挥作用: a. 在实现计划的“Phase -1: Pre-Implementation Gates”中,会检查宪法的多条原则,例如: - 简单性检查(Article VII):是否使用不超过 3 个项目,没有过度设计。 - 反抽象检查(Article VIII):是否直接使用框架,没有不必要的抽象。 - 集成优先检查(Article IX):是否定义了合约,是否编写了合约测试。 b. 如果检查通过,则继续生成计划;如果不通过,则必须记录问题和理由。 -
根据宪法原则,实现计划必须遵循:
-
Article I: 库优先原则,将每个特性作为独立库开始。
-
Article II: CLI 接口必须暴露,以便测试和观察。
-
Article III: 测试优先,先写测试再写代码。
-
等等。
-
-
使用
/speckit.tasks命令生成任务列表(tasks.md),这些任务将遵循宪法原则,例如:先写测试,再实现代码。 -
在代码生成阶段,宪法原则继续指导每个任务的执行,确保生成的代码符合宪法。
实际在使用经过迭代的高质量宪法
使用方法
1、鼠标移入下方代码块,点击右上角复制
2、打开代码仓库根目录.specify/memory/constitution.md
3、粘贴、保存