大道至简读后感

大一很快的过去了,在过去这一年c++这门课程确实让我有点头疼不已。往往拿到一个程序后,我不会做到很好有序的从思考到实现算法到实际步骤一步步走下来。更多的是凭借着已有的经验硬做,有很多十分神奇的算法都是靠复杂的方式过的,回想起来,这种做题方法很不科学。

本书最开始讲解了编程的基本元素和思想,一个开发团队基本的成员构成。以及,为什么有软件工程、为什么要用面向对象编程的方法,编程的核心是什么。编程的时候,语言不是最重要的,最重要的是算法和结构,加上方法。代码只有“更合适”,没有“能写”和“不能写”。成天讨论这门语言好,或者那门语言坏的人,甚至是可悲的。不但是悲其一叶障目,更要悲叹于那种大愚若智的自得心态。其后,介绍一个团队需要的各种要素,每个人员都需要分清楚自己的角色,否则总有一天会造成问题。团队中缺乏的不只是管理,彼此了解、沟通、分清角色、合适的分工模式等等,都是一个团队所必需的,缺乏一个就会导致团队的失败。这些在开始开发之前,必须提前做好。不作准备直接开始的开发,很容易以失败收场。随后,讲了沟通。不仅仅是团队内需要沟通,与客户之间也要沟通,并且这个沟通是要做足功课的:要简短但又有效。沟通不能死板,更不能流于形式,要能根据具体情况灵活变化。只要是行之有效的、能在各个项目角色间通用的,就是好的沟通方式。同时,要为以后可能看代码的人留足记录。做工程不是做过场,过场做完的工程不一定成功,成功的工程不一定做完了过场。工程不是做的,是组织的。语言只是工具,背后的东西才是软件工程的本质。同时,不能拘泥于细节,要着眼于大局。攻克了细节,但因此失败了工程得不偿失。

作者在第二章中用愚公移山“碎尸击壤”与李冰凿山“积薪烧之”来提出懒人造就了方法,人的精力终归是有限的,提出新的“方法”,解决的将是影响做事成效的根本问题。我认为,懒人是聪明人,固然做事需要勤奋,但也要讲究方法,勤奋的人会觉得世上无难事,只怕有心人,而聪明的人则会想方设法,追求效率,突破人精力的极限。第二章的最后一部分讲述了面向对象与面向过程的区别。面向过程是对流程、结构和编程方法的高度概括,面向对象本身只解决结构和编程方法的问题,而并没有对流程加以改造。

有了团队,有了管理者,对于客户要求的理解,就需要互相的沟通与理解,而这在第四章中被提到,与客户的沟通不能是流于形式,要进行有效沟通,建立在具有明确的意识及观念的基础上,并且珍惜每一次与客户的交流,向客户了解更深层的需求,保障沟通的有效性。

到了大二也就是一个新的开始,这本书看完对于我来说挺有帮助,至少在以后的编程步骤方面会有改变,会注意自己的思考方式而不是简单的凭经验做。算法种种,分解到底,无非顺序、选择和循环。然后平凑起来计划就是一个工程。也许这就是所谓的大道至简吧。

周爱民先生在第六章中主要介绍了从编程到工程的五个过程,软件工程可以分为四个层次,工具,方法,过程,实现对象。长期的编程实践,必然会成为某种方法。第七章说的是现实中的软件工程,大公司已经开始促进软件工程从原始状态推到激发发展的状态了,在此时,保障团队的稳定和谐就是非常重要的因素。最后一章是“是思考还是思想”,软件工程的三要素是工具,方法与过程,这三个要素既单独是一个个体,又互相联系。就如同一个团队,在对某个项目开发过程中,既独立思考,又相互协调,加上对细节的处理,就是一个很完美的工程。

暑假一结束我就要步入大二的生活。如何避免我在大一犯得一些错误,避免再次调入陷阱,也是非常重要的。想要避免再次堕落,就必须努力和勤奋,每天几百行代码是必须的,无论对错,代码一定要写,而且要自己去找出写的代码中出现的问题,不断地总结和重复,就像大道至简中说的一样,思想和思考同样重要。以上是我自己的理解,也许和别人的想法不同,但我还是会按照自己的理解勇往直前。

posted @ 2019-07-28 11:48  你的深渊  阅读(155)  评论(0编辑  收藏  举报