---
name: 概念驱动开发
desc: 一种使用命名概念来压缩项目知识的工作风格。
category:
  - concept-zh
  - narrative-zh
belongs:
  - development-style-zh
refines:
  - concept-zh
---

概念驱动开发始于压缩。

概念为否则会被重复的知识赋予一个稳定的名称：
规范、决策、实现笔记、测试，
以及它们背后的共享理由。

LZ77 类比是一个自适应字典。
Sirno 给项目知识一个类似的字典，
区别在于每个引用保持人类可读。

概念同时服务三个角色。
它们将行为规范聚集在一个命名对象下。
它们保持意图跨细节层次可移植。
它们组织测试，使属性和约束更易于看到。

概念驱动开发通过询问什么命名思想
应被其工作保留，来总结其他三种实践。
规范驱动开发说明什么必须成立。
意图驱动开发说明为什么工作重要。
测试驱动开发使一个声明可执行。
概念将这些压力汇集为一个持久的项目对象，
未来的工作可以检查、细化、实现和见证。

这种方法是实践的。
在局部工作开始前，
项目询问哪个命名思想解释了工作。
如果答案缺失或模糊，
设计应被降维或反射，直到该思想有一个条目。
该条目不需要解决整个问题。
它只需要给工作一个稳定的句柄和足够的散文来保持理由可见。

概念驱动开发不替代规范、意图或测试。
它给这些实践一个共享的结论。
规范可以指向它锐化的概念。
意图可以命名它试图保持鲜活的概念。
测试可以见证它保护的概念。
当代码揭示更清晰的表示时，实现可以细化概念。

这种风格对智能体和人类同样有帮助。
具有有限上下文的智能体可以检查概念及其结构字段，
然后在本地工作而不携带整篇专著。
概念成为宽泛意图和详细代码之间的紧凑桥梁。

[generated-footer-zh]: generated-footer-zh.md "Generated Footer"

---

> **Sirno generated links begin. Do not edit this section.**

- belongs (to):
  - [development-style-zh](development-style-zh.md)
- belongs (from): (none)

> **Sirno generated links end.**
