程序员的底层思维
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.2.2 制定团队通用语言

以往在演讲中分享领域驱动设计(Domain Driven Design,DDD)时,我总是会花很多时间介绍概念的重要性。实际上,DDD的核心就是强调概念和语义,概念的重要性体现在通用语言(Ubiquitous Language)上,语义的重要性体现在界限上下文(Bounded Context)中。一个团队只有具有统一的语言概念基础,并划分了清晰的边界,才能更好地沟通协作;文档和代码中的核心概念只有保持一致,才会具备更好的可读性和可理解性。因此,我建议,任何领域都应该有一份核心领域词汇表,方便团队在这些核心概念的表达和命名上达成共识。

表2-1是我在做商品业务时和团队一起制定的核心领域词汇表,我要求团队(包括业务方、产品经理)在开会、写文档(需求文档、设计文档),以及写代码的时候都必须使用“通用语言”。我们的确也是这样做的,实践证明,这样做显著提高了我们的沟通协作效率,因为有“通用语言”,文档和代码的可理解性也会提升不少。

表2-1 商品业务领域词汇表

概念是一切的基础,要提高逻辑思维能力,就要从弄清楚每一个概念所表达的具体内容(内涵和外延)开始。