大道至简

大道至简是指大道理(基本原理、方法和规律)是极其简单的,简单到一两句话就能说明白。所以这个大道至简可以适用任何行业。
    对于编程序来说,很多人认为是一件很复杂的事,但是你慢慢读以前的故事,你就会发现,其实在是一件很简单的事,甚至可以说是不用废废脑力一件劳力活。在中国两千年前的寓言中,已经成就了一位工程名家:愚公。当你细心读这个故事的时候,你就会发现,在愚公的身上,浓缩了项目组织者、团队经理、编程人员、技术分析师等众多角色的优秀素质。两千年前的寓言的出现,远远早于计算机发展的历史,甚至早于一些西方国家的文明史。在愚公移山的故事中,我们不难看到了原始需求的产生:“惩山北之塞,出入之迂”。我们也看到了项目沟通的基本方式:“聚室而谋曰”。然后,我们看到愚公确定了一个项目的目标:“毕力平险,指通豫南,达于汉阴”。并通过研讨,择定了一个井然有序的、可以实现的技术方案:“扣石垦壤,箕畚运于渤海之尾”。愚公移山的故事里,可以知道编程的根本:顺序、分支和循环。一个再庞大工程,都是可以通过这样简单的编程来实现的,都是一个个按键敲出来的,这,就是编程的精义了。
    懒人造就了方法,在战国的一个故事,说是“蜀守冰凿离堆”,是说李冰(当然我不认为李冰是一个懒人,我更认为他是善用懒方法来完成一件困难的工程)在成都的时候凿出了离堆。有一种说法是李冰将都江堰附近的玉垒山凿了一个大口子,叫宝瓶口,而凿的石头就堆成了离堆。还有另一说,则是李的确是凿了一座“(溷)崖”,但是是在沫水,亦即是今天的大渡河。但是不管是哪种说法,事实只有一个,李冰悠懒人的方法完成了一个大工程  ,《列子・汤问篇》里的愚公就要“碎石击壤”,而李冰就已经懂得“积薪烧之”了。  会有人说愚公是“碎石”,并没有说他“碎石”的方法究竟是“斧钺以凿之”,还是“积薪以烧之”。但想想那个时代,如果有人懂得了烧石头这个方法,哪能不立即载文志之,永世传承。  再说了,愚公嘛。愚者怎么会呢?这还需要分析吗?所以一根很大的工程我们没有必要把所有的代码写在一起,可以尽量的分开团队管理。所有的项目更好的选择是明确分工,但是重要角色的更替通常是极具风险的,例如项目经理或者开发经理;频繁的开发人员的调度也会直接影响到工程的质量和进度,所以要有团队意识。
   本书用非工程的方式重新解析软件工程现象,全面、细致而深刻地分析了工程中各个环节的由来、价值及其内在关系。综合论述开发、工程二者的现状,例如对程序员“工匠思想”的起源进行广征博引的分析,也对工程中“敏捷过程”的经验主义本质进行深至髓质的论证。全书语言轻快,可读性强,薄且有味,这本书对我以后的编程有了大致的认识。

posted @ 2020-07-29 12:24  晨enough  阅读(27)  评论(0编辑  收藏  举报