大道至简第六章读后感
大道至简第六章读后感
大道至简的第六章从八个方面讲述了从编程到工程的主要内容。从编程到工程,是不断发展的过程,这是作为软件开发的质的飞跃。正如《列子·说符》中的“得其精而忘其粗,在其内而忘其外;见其所见,不 见其所不见,视其所视,而遗其所不视”所说的,我们大多数人总是在有能力做成一件大的工程的时候就忘记了应该注意的细节问题,这是成功最关键的,却也是常常被忽略的。
语言只是工具。正如周先生所说,整天讨论这门语言好,那门语言坏的人是可悲的,因为他们并没有真正理解语言的作用,对于软件开发人员来说,语言仅仅是完成项目的工具,而且语言之间是相通的,谈论语言的好坏只是在浪费时间而已,实现或者说完成项目才是我们最终的目的。
程序。程序=数据+算法。编程的精义于此,在最初有开发行为时它也就出现了,通过后来的不断归纳总结形成了一条规律。
方法。方法不是某个人或者某个组织创造的,它是实践的成果。长期的编程实践,自然的归演与总结,实践积累到一定程度,自然而然地就形成一套理论,也就是所谓的方法。
过程。过程伴生工程而出现。过程解决的是工程中角色间的关系问题。常会听到人们说“我只要结果,不要过程”这样的话,可是过程并不是不重要,对于说出这句话的人来说,结果相对于过程显得比较重要,但是对于真正做项目的人来说,过程才是最重要的,没有好的过程也就不会有好的工程。
工程、组织。工程和组织是分不开的,对于软件开发公司而言,它不仅需要开发人员来完成项目,也需要一些管理及组织人员,没有组织的团队就像是一盘散沙,并不能成大气候。
在一个团队里,真正的BOSS并不是那个付你薪水的人,付薪水的只是上司,是部门经理或者说团队经理,并不是真正的BOSS,真正意义上的BOSS是属于经营范畴的,他的职权范围是管理层,并不决定开发人员的薪水。BOSS决定的是一个团队发展的方向,组织者的职能是保证决策与方向的同步,工程则是在这样的方向和决策构架下的具体行为,开发者的职能便是这些行为的实际操作者。分工明确,做好自己的本职才是项目顺利完成的充分条件。
上帝之手。从最初的简单编程开始,到现在工程团队的组织开发,实现(一个软件)都是最终的目的。所以可以这样说:实现,是软件开发的本质需求。正是由于实现的需要,才会有各种模型、过程、单元、结构、对象等一系列的出现,进而编程经验不断积累,总结出各种方法。所以说,方法是对既有行为的归纳总结,不管怎样,归根结底的目的还是实现,实现工程,实现项目。