关于《大道至简:软件工程实践者的思想》一书的读后感

    在阅读《大道至简:软件工程实践者的思想》一书后收获颇多,遂将感受与想法记录下来。

  此书首先由愚公引出编程,给我们看到编程的根本:顺序、分支和循环。然后明确的告诉了我们编程其实很简单,只要掌握了步骤与操作,皆可以编程。在此之前,我还经常怀疑自己是否真的适合编程,看了此书后才金篦刮目,没有什么适不适合,只有愿不愿意。书中说“编程作为一种行为,只需要知道其逻辑方法就可以了”——即编程很简单,就比如拿到一件事首先要分析,只要找到方法这个问题就随之而解了。而我们的现状往往是一味地蛮干,记住:积极工作和勤于思考都要占时间。在我们了解了“程序=算法+结构”后就可以开始学习多种语言了,而学习了他们之后总会有疑问“到底哪门语言更有用呢?”这本书却纠正了我——语言没有好坏之分,各有各的作用,甚至是直言“成天讨论这门语言好,或者那门语言坏的人,甚至是可悲的”,幡然醒悟的我明白了,事物的存在必定会有他的价值,要多方面分析,不能从一而论。

  然后此书将愚公与李冰做对比,向我展示了方法的重要性。愚公没有方法,只知道蛮干,所以就要用时间去堆积,但一个人的精力终归是有极限的,然后就用上了世世代代去继续完成,最终才能完成这么一项任务。而李冰掌握了方法,在最快的时间里完成了作业,自然,李冰获得的回报也就更多。勤快的愚公创造不了方法,这个世界上,有勤快人就必然有懒人,有懒人也就必然有懒人的懒方法,然后就发现把一个大模块分成小模块,再把小模块分成更细的小小模块,一个模块对应于一个单元,让源代码分散开来,这样要完成一个程序其实也没有那么难。而我时常问自己“为什么我学了一年的编程,却还是不知道怎么写程序呢”看完此书后发现我们首先要明白这些知识是用来做什么的,再将知识在大脑中分类储存,要用时才能清晰明了的输出需要的部分。就像把大模块分成小模块的过程的逆向分析。

  在学会方法之后就到了管理层面。在哪个位置就要承受那个位置所必须要承受的责任,当了负责人之后还要学会如何管理这个团队,既要做到人性化又要做到公平性,在一个团队中不要混淆自己的角色,该做什么就做什么。比如我现在是学生,就理应好好学习,而不是出去打工,而学习就得认真学,不能三心二意,心口不一。
  管理之后就是沟通了。沟通在我的理解中算是比较重要的一部分,好的沟通可以为我们节省很多时间与精力,与其这部分浪费在不沟通上,不如多做几个项目。管理层在分配任务之前就必须与客户沟通恰当,当然管理层与管理层也要沟通,在没有问题后再分配下去,让员工彼此之间在多沟通,避免重复、缺少、多余的情况。
  做一件事不要怕失败,我们注重的是过程而不是工程。都说失败乃成功之母,所以失败不可怕,可怕的是失败之后就再也没有勇气继续。
  我们知道软件开发包括中语言、程序、方法、过程、工程、组织。这些在软件开发中都各自占有一定比重。而我们平时所说的BOSS则不属于其中,BOSS在公司中解决的是“经营”问题,这其实是在比“组织”更靠外侧的一层。而软件开发的最终目的则是实现,实现又被称为“上帝之手”,因为实现是软件开发的本质需求和基本动因。
  然后此书向我们介绍了现实中的软件工程。因为知识积累不够,所以不是很能理解。
  是思考还是思想——这是此书最后一章的问题。在向我们提出问题时,也解释了作者写下这本书的原因。
  总之此书在软件工程方面给我带来了不一样的感觉,值得一读。
posted @ 2019-07-31 01:46  Spongbob  阅读(254)  评论(0编辑  收藏  举报