读后感:自底向上的编程
这是一篇93年的文章,作者是保罗·格雷厄姆(Paul Graham),他的主要著作有:《黑客与画家》。
这篇文章的主要内容:
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。主流的观点认为一个程序的功能单元不能太大,否则会提高代码的复杂度,导致软件很难理解。
所以在设计软件时会采用至顶向下的设计策略,把系统持续分解为子函数,直到生成大量的可理解的子函数单元。
但是Lisp的开发者采用的是自底向上的设计策略:修改语言来适应问题。即基于基础的语言创建出新的运算符,从而简化程序的设计,随着语言越来越接近问题,最后语言变得好像就是为该问题所定制的一样。
自底向上的设计并不是简单地按不同的顺序重新组织程序,而是先将抽象出大量的运算符,而通过一个很精简的代码来实现程序。而且抽象程度越高,你的程序代码就越简单。
自底向上的设计有以下几个好处:
1、程序包含了更少的组件,这样组件间的联系和依赖也大大减少,从而减低代码的复杂度和出错率;
2、可以提高代码的复用度,为第一个程序开发的工具也可以被后续的代码所利用;
3、代码提高了可读性,读者只需要理解抽象运算符的功能;
4、让设计的思路更清晰,只需要对组件进行优化;
自底向上的设计不仅只适用于Lisp,其实函数库即自底向上的设计。但是Lisp提供了更广泛的能力,从这点来说,Lisp不仅是一种新的语言,更是一种新的开发模式。
自底向上的开发风格适于多个小组的团队,因为小组间的交流沟通成本会降低很多。
读后感:
自底向上的设计更多的还是一种思维方式,把跟业务流程无关的基础的组件抽象出来,从而使得业务流程的代码尽量精简。

更多精彩