
1
第 1 章
模块化思维
正如前言中所讨论的,在我们开发软件项目时,复杂性似乎无处不在。抽
象也是如此,它将复杂性隐藏在我们不敢触及的“岩石”之下,这些岩石
是我们通往另一个世界的接口,让我们可以远离复杂性,几乎不会去想复
杂性。
JavaScript
语言也是如此。尽管动态编程语言很强大,但是当我们使
用它们时,往往更容易(甚至会不由自主地)写出复杂的程序。
我们首先讨论如何更好地将抽象、接口及其底层概念应用到我们的工作中。
如此一来,在处理项目、项目中的特性、特性中的功能模块,甚至一个函
数的分支时,我们就可以将需要关注的复杂性最小化。
1.1
模块化思维简介
拥抱
模块化思维
(
module thinking
),就是要认识到复杂性(复杂的逻辑)
最终是不可避免的。同时,复杂性是可以被隐藏在接口之下的,用户几乎
不会看到或想到它。但一件很棘手的事情是,这个接口必须设计得很好,
我们才不会产生挫败感。这种挫败感可能会促使我们深入了解这个糟糕的