《大道至简--软件工程实践者的思想》读后感
《大道至简--软件工程实践者的思想》读后感
“工程其实很简单,只是大家把它做复杂了。”或许,这就是作者周爱民想阐述给我们的软件工程的核心思想。
愚公移山,看似是一个庞大的工程。可既然山不加增,又何苦而不平?正如书中所说,除了先天智障或后天懒惰,任何人都是可以写程序的。在愚公身上就可以看到编程的基础,顺序、分支和循环,移山这等的工程都可以通过编程来简单实现,这便是编程的精义。
积极工作和勤于思考都要占时间,只要开发人员把这个程序的算法设计出来了,把结构描述出来了,那这个程序基本定型,就只剩下劳力活了。勤奋的人坚持不懈,可人精力终归有限,于是乎懒人造就了方法,提出新的“方法”,解决的将是影响做事成效的根本问题。
我们应该像整理书一般,把学过的知识分类,归纳放在脑子里。现在已经不是面向过程的那种愚公式的的时代,总体结构面向对象,关系运用数据结构,并通过算法来实现。对于如今时代的事件驱动和模型驱动自然出现了“方法”。所以,作者就得出了他所认为的理论:程序=算法+数据+方法。
而当程序放大到工程,无非就是软件工程的三要素:工具,方法,过程。
1、其实对于我们程序员来说,语言只是工具,语言的差别主要在使用范围上,而并没有哪个语言好什么的,还是看是否合适。
2、方法不是某个人或者某个组织创造的,而是实践到一定程度的成果。经验来源于回顾,理解,和分析,而不是将要写的下一行代码。方法,是对既有行为的归纳总结。
3、我们做编程的,目的就是为了实现,工程不过是实现的一种途径。我们不能走做完了一个工程的每个过程,却没有完成项目的每个实现目标,不能为了工程而工程,迷失在项目中。
团队需要管理,而这个管理人员,起码要能担起责任,还要能合理的预计工期,协调开发者和经营者之间的沟通,需要了解客户需求并说给开发人员听,保障和客户每一次沟通的有效性。有了愚公式的开发人员,加之有制度的管理,这就可以开发了。管理人员需要跟随开发人员,引导他们,做一个蚂蚁洞外的人,而不是洞内循规蹈矩的人。他们的职责是明确分工而不是做伯乐,频繁的人员调度会影响工程质量和进度。如果仅仅是流于形式的沟通,那么可能使项目不断推翻和延迟。这是作者在一个项目成功的因素中,对于团队和领导的看法。
在我们做工程的时候,实现目标和保障质量经常会矛盾。我们要不时地自我检查,触到一些错误的地方,要及时回头。正是因为许多人不知道技巧,方法和技术的原理,因而不知道变通,也不知回避错误。
或许正如作者所说,死读一本书,并不能学会软件工程。所以他在告诉我们道理——大道至简,需要思考和领会工程的道理。“道之为物,惟恍惟惚”书的最后用了这么一句话,来告诉我们,软件工程的路上,应该记住定式,运用定式,忘掉定式,创造定式。就像我们高考时的题海战术,固定的去记住题型的做题方向,和模式步骤,却不是真正学成了自己的东西。方法也是如此,我们需要不断摸索,创造自己的方法。
对于刚入门软件工程的我们,这本书无疑给我们指明了我们所要做的事情,也让我们可以避免掉不必要的误区。
工程其实很简单,不要把它做复杂。