《大道至简》读后感
《大道至简》是周爱民先生对于他十年软件工程的一个总结,探究软件工程的本源以及探讨软件工程的方法论。由于现在没什么项目经验,初读《大道至简》并没有特别深刻的体会,这篇读后感就对各个章节有些共鸣或感到精彩的部分结合着自身体会来写一写。
第一章是编程的精义,讲了一个愚公移山的故事,作者把他们剖析一个个简单的,独立的问题,之后流程化表示。这大概就是编程的精义,也就是经常对我们讲的,复杂问题简单化,随后再将这些问题流程化。这里也提到了“程序=算法+结构”,没有提及到code,存在的只有思想,也就是说有思路、有逻辑才能高效,不然一直code也许都是无用功,思路与方向比一味地编程更加重要。
之后第二章讲了懒人的作用,能想出巧妙的方法来减少工作量,讲述了编程从最开始的杂乱到现在的模块化,结构化。之后是作者与他的朋友关于面向对象和面向过程的讨论,没看懂他们要说些什么,也许是为了引出下面的在面向对象时代“编程=算法+结构+方法”。
第三章关于团队管理,有句话我印象比较深刻,“跟随蚂蚁,但不要栽进蚂蚁洞里”。这个暑假,在暑假班里当老师,带着个小班级,学生们都是小升初,我也没把他们当做小孩子来看待,融入他们,授课之余也同他们看视频玩游戏,可是渐渐地,他们越来越不服从管教,越来越不遵守纪律,大概是我跟随蚂蚁跟的太近,掉进了蚂蚁洞吧。应该在洞外放木棍来引导他们。除此之外,还有任务分配以及角色转换的问题,每个人都要有明确的角色和定位,只有将任务有效地分解,充分利用人力资源,才能让项目高效完成。
第四章主要讲了如何跟甲方沟通。不论哪种方式,都要把需求弄清楚,得让甲方明白以及让项目组明白,绝对不能流于形式。还有就是当前的开发要为以后的升级维护留下足够的信息,方便后续工作的展开,做好History。
第五章说的是做工程不能一味地去模仿,对于编程来说,实现才是目的,实现的过程不拘泥于形式,可以是自己开发的全新的独创的过程,也可以是之前早已存在的模型,能够实现就好。
第六章从编程到工程,大概讲了语言只是个工具,没有优劣之分,从程序到方法再到过程,最后组成了工程,还有以管理者的角度审视工程。
第七章讲了一些大公司的博弈以及几个过程模型,不太能看懂。
最后是作者的一些思考,软件工程的各个要素是不可分割的,管中窥豹,只见一斑,不见全貌,要从整体层面思考问题;UML和甲骨文一样,只是用来沟通的符号;项目经理的使命是协调开发者与经营者;实现目标与质量的矛盾;软件工程是灵活的,是可以变通的,并不一定严格遵循某一套流程,能实现需求才最为重要。
以上就是我的读后感了,有些地方实在有些晦涩难懂,写不出“感”来,于是就粗略地描写一番。总的来说周爱民先生向我们分享了他的认知与方法论,我会试着在之后的实践中慢慢体会这里面的深意的。