读《大道至简》有感

 

读《大道至简》有感

   本书是在“思想方法学”这一软件工程尚未涉足过的领域中的是实习之作。通过这本书,我终于更加透彻地理解我们软件工程,乃至所有要编程的学科中的学习的道理和方法;更加透彻的理解了编程的精义;更加透彻的理解了程序员工程师的职责。

       它开篇以愚公移山的古典作例讲解了编程的精义,道出编程的根本:顺序,分支,循环;告诉了我们首先编程=算法+结构。算法是对一个程序的逻辑实现的描述,而结构是逻辑实现所依附的数据实体。所以编程很简单,除去那些先天智障或后天懒惰者,我想其余的任何一个嗯人都可以学会写程序,只要开发人员将这个程序的算法设计出来了,把结构描述出来了,那么程序就已经定型了。这其中很重要的一点就是:编程知识一种行为,而且语言只是一种工具。编程的第一要务是先把事情分析清楚,把事情之间的逻辑关系和依赖关系搞清楚,然后再去实现代码。书中所言极是:积极地工作和勤于思考都要占时间。再者是语言,我们现在学了CC++,已经能够感觉出来,正如书中所言:任何一门的底层函数库都是那么的相似。并且他们都是依赖于操作系统。其实语言的差别就是在适用范围上。有的可以精确到原子级,表达无穷之小;有的适合做图形处理,它的底层函数书库比其他语言可以快上十倍甚至数十倍。还有的适合做网页,要用它做一个通讯薄软件都将是史无前例的挑战。成天讨论那个语言好坏的人甚至可悲,不仅仅是他的一叶障目,更是被他大愚若智。所以语言其实很简单的,我么你要保持好的心态,努力学习各种语言,武装自己。

       人类社会的进步其实可以归功于懒人,因为是懒人造就了方法。正如书中那一比较,愚公虽勤,但是却是在一点一点地凿山,进行移山;而受炒菜时无意发现的垒灶的鹅卵石被烧得爆裂开来遇水尤甚,从而使他“积薪烧之”更快的凿了山。我们学习了一年了,很多人都是很迷茫,不知道自己学了什么。那是因为我们还没有将自己学到的东西进行分类,归纳到我们自己的脑子的不同区域。我们要有自己的方法,做到高效率的完成每件事。

       团队是一个极其重要的集体,其特征是:主从、监督、责任。在软件开发中,往往是一个团队的相互合作,明确分工才完成最终的项目,在这个团队里我们不能一直埋头干,干,干,我们团队每个人都需要思考,需要反思。团队应该有团队自己的灵魂,而这个灵魂是团队的所有人都参与铸造的,而且是印在每个人骨子里的东西。灵魂并不是个架子,是一个团队不可或缺的元素。一个项目是需要考虑很多方面的,需要和每个部门及时沟通,协调每个人的工作时间,作用等等,并且团队的每个人都要朝着共同的目标前进,如果乱了,那么这个团队就是一盘散沙,很难完成什么大项目,由此可见,一个团队的精诚合作是多么的重要。

       编程语言是程序员与计算交流的语言,而不是与客户交流的语言。在工作中,每一次与客户交谈需要保障每一次的沟通都是有效的,是有目的性的,要知道,平时生活中那些酒肉应酬并不是最有效的。如果仅仅是流于形式的沟通,那么可能使项目不断推翻和延迟。我们需要在正常人和盲人之间建立一种沟通的方式,既然盲人不能睁开眼睛,那么你就闭上眼睛好了。后面还说到项目的维护问题,当然啦,一款软件,一个操作系统,总有出错的时候,所以项目的维护是必然存在的,开发者要为“项目维护”这种还不存在的角色留下一个对话的渠道,保证维护的进度。

       编程的目的到底是什么呢?应该是实现吧。实现才是目的。工程只是一种实现的途径,也是给我们这些初学者的一个警示:为工程而工程的人,都迷失在了项目当中。工程不是做的,而是组织的。分工明确,步调一致才能共同完成这个项目。语言只是工具。过程伴随工程而实现,解决的是过程中的角色间的关系问题;工程,对目标的描述和成果的检测;工程出现的原因,软件规模的不断 增大,团队及组织的重要性。

   工具、方法与过程这三者是相互关联的,所有问题都应该回归到软件工程的本体上来思考,而不要只注意一点点的小方面,如果只顾某一个问题,只从单一的角度看问题,那么思维能力就会受到限制,你就很难适应去做一个大项目所以所有问题必须从整体看待。工程其实很简单,不要把它做复杂。我们一定会通过这次学习之后,更加正确地高效地学习软件工程!

原文地址:https://www.cnblogs.com/liurx/p/7396663.html