说实话,第一次听到这本书的名字的时候,还是下意识的挠了挠头,一本书感叫大道至简,想必是很有东西,在编程领域这个大道上如何来将其系统的简化?我抱着这个问题翻开了这本书。让人惊喜的是这本书真的很有意思,他在序言中讲述了自己对于编程以及简化思想的理解,当我在思考简化这一行为的时候,就看到了这本书,因为篇幅问题,把纸质版简化掉了,这何尝不是一种大道至简!(出版社也是要吃饭的)
把话题扯回来了,想要真正理解作者所阐述的思想,我们还是要走近这本书的正文部分,第一章名为《编程的精义》,开篇就举出了愚公移山的例子,在愚公移山这一行为的过程中,愚公作为项目总监思想极为超前“虽我之死,有子存焉”的if条件判断“子子孙孙,无穷匮也”的循环结构不难看出他作为编程人员的基本素质,而将移山这件大事通过编程化为一件一件小事,这才是愚公做法的精妙之处,这个也是本书所说的化简。通过这个例子,我想起了稚童时期的自己,也是通过不断的使用if,循环与分支结构,来完成各种事(难道我真的是天才?)即便是牙牙学语的婴儿,行事也符合编程逻辑。推而广之,如果你有了会吃饭,冷了会加衣,那么,你的编程已经会了一半了,而往后我们熟知的程序=算法+结构,其中所提到的算法,也就相当于吃饭要用的勺子,是编程过程中使用的工具。以上这些便是第一章阐述的对于编程的化简(大道至简嘛,不扣题怎么行?)
第二章名为懒人造就了方法,用李冰团队的烧山大法对比愚公的凿山大法,文章中还说,李斌是个有时间看火烧石头的懒人,才能想出火烧碎石这个方法。(赞美懒人,赞美我自己)也正如书中所言,人的精力是有极限的,为了的极大的节约时间精力,一些模板式的方法应运而生,同样的计算机就是我们最熟知的“方法”,它的出现也正是因为有懒人的存在。随后,本章还提出了一个问题“你桌子上的书是乱的吗?”大量的知识和资讯,就是桌子上的书,如何摆放,这些书,必要的时候翻开哪本书,这对编程来说很有必要(在我得意自己的桌子并不乱的时候,我发现并不是因为整理的多好,而是因为没有多少书,我一拍大腿,哈哈,哭死(´;︵;`))
本书的第三章“团队缺乏的不只是管理”由个体到团队, 其中提到了关于领导的选择,否定了功高技强的程咬金去作为领导,而偏向了能扛起责任的李离。文中也提到三人团队中的那个领导,不是要程咬金一样的牛人, 而是要李离一样的死士。项目完成不了,切脑袋的事倒不 必做,递交辞呈的那点勇气总是要有的。(这让我想起了经典的程序员三拍:拍胸脯,拍脑袋,拍屁股。看来这拍屁股也是有大学问的0.o)其中后面也提到了更多关于项目的运行,制度的修订,团队是否需要管理等等,在这里就不多做赘述(其实是还不够了解,猪脑过载了,不敢妄下结论),由此我们以及得到了几个肯干的愚公(程序员),懒人李冰(精英怪,其实是项目经理),组成了一个团队,并制定了相关的规则(如果真的可行的话),那么马上开始下一步。(值得一提的是,做不出项目,不一定要掉脑袋,但一定得掉头发,我还年轻,不想当秃头)
第四章主要讲述的是沟通,与客户的沟通往往总是让人头大,我总是会在这时候想起一句话 :“如果解决不了问题,那就解决提出问题的人”当然,解决客户可不太行,但至少可以稍微糊弄糊弄,比如把客户请上酒桌,转移了沉重的项目话题,这即是流于形式的沟通。文中也出现了这样一句话“大部分顾客其实不懂”,因此用甲骨文来写程序这个荒谬的想法也许可以成功。相对应的,文中还提到了最简沟通,即保证每一次沟通的有效性,了解对方的目的性,明确需求以及可能发生的需求。明白了这么几点,我相信我们的项目总监也可以大放异彩了。
后面四章脱胎于前四章建立起来的团队,但篇幅有限不多赘述,以下简单讲述我个人的看法(后续的软件工程越来越偏向实际,我作为一个小菜鸡看下来着实有点头疼,但我对软件工程确实有了全新的了解)
第五章令我印象最深的是一个问题“你到底是选择架子?还是骨子?”一个完整程序的骨头应该怎么去选择?画不成的老虎,真像狗;刻不成的鸿鹄, 真像鹜吗?做工程并不是做面包馒头,没有固定的套路模板。想要实现一个工程不能单单的去做,而是需要去组织一个工程,去协调工程中的角色。如此想来画皮还是画骨,答案就显而易见了 。第六章已经跳出了一个团队,转而去更加接近了现实中软件工程这一行业的运作,不再注重于个人,而将上帝之手放在了过程,就像在下一盘大棋,不再关注每一个棋子能做什么,有什么用,而去统领起整个棋局 ,而这盘棋局最终的目标就是软件开发的本质需求和基本动因--功能实现。
前六章已经够好了一个非常完善的框架,就像游戏攻略一样,用理论去评判每一步该怎么做。第七章由前面的理论来到了现实,已经开始着手一个工程的实施步骤和组织方式(这一块联合实际,我这个啥也不会的小垃圾昏掉了)。第八章则由行为来到了思想。“知律而变”,古词谱的填词规律一样,在一个固定的音律上,依据平仄填上符声,确保“能通顺”“能品味”。软件工程也是如此,在知道框架的同时明白原理,才可以灵活为其填上枝叶,确保能使用。
关于我自己,之前的我在学习和实践方面的行为是不够深的,一些十分基础的编程题目,往往是浅尝辄止,发于行动却止于行动,错过了思想的发散。就像本书所说的,桌子上的书是否是乱的?也许在思维的寥寥几本书里,可以找到正确的解决方法,但是也仅限于解决当下的问题,而没有针对这个问题去丰富自己的思维,没把书中的方法发散出去,去更加理解方法的内核,上升到思想的层面,也很少考虑去举一反三,锻炼思维。在之后的学习中,要更加注意的去贯彻思维宽度上的简,思维深度上的精,多实践认知尝试,真正做到大道至简,至精。
大道至简,需要缩减的不是行为,而是思想。
标签:本书,读后感,大道至简,编程,懒人,愚公,团队 From: https://www.cnblogs.com/drz1145141919810/p/17590680.html