
19
第 2 章
模块化原则
模块化可以解决复杂性问题,但我们所讨论的复杂性究竟是什么意思呢?
复杂性
(
complexity
)是一个含义丰富的术语,用于描述微妙的主题。
复杂
(
complex
)是什么意思?在字典里,复杂是指某物“由许多相互关联的部
分组成”,但这并不是我们在编程中谈到复杂性时所指的问题。一个程序可
能有成百上千个文件,但仍然被认为是相对简单的
1
。
下面这两个来自同一本字典的定义,可能在程序设计的背景下更具启发性 :
y
“(复杂)表现为非常庞杂或需要仔细组装的部件、单元等。”
y
“头绪多且杂乱到难以理解或处理。”
第一个定义表明,当程序的各个部分以复杂的方式组织时,程序就会变得
复杂 ;各部分之间的相互联系就会成为一个痛点。其原因可能在于接口盘
根错节或缺少文档,而这正是我们在本书中要解决的复杂性问题的一个方
面。
1
字典中对
complex
定义的更多细节可能有助于阐明这个主题,请参见
dictionary
网站上关于
complex
的解释。