zoukankan      html  css  js  c++  java
  • 《大道至简》读后感

      我本以为大道至简讲述的是关于代码的东西,但当我看完之后发现,大道至简讲述的更多的是关于公司内的事情,但也是让我受益匪浅。本书是关于软件工程感想的书籍,作者亲历多国内软件工程的辉煌期和低沉期,从失败中觉醒而思考,对软件开发、工程中的现状深刻反思,从而完成这本著作。在缺乏独立思维、对国外工程理论亦步亦趋的软件开发界方面,这本书或许是第一本从工程实践出发溯源而论的著作。

      将编程比作劳力活,引出了愚公移山这一典故,愚公不愧为一个优秀的团队领袖,在项目、管理方面做的极为出色,“虽我之死,有子存焉,子又生孙,孙又生子”作者巧妙的将他与编程中的循环语句相结合,并且提出的“山不加增”这一循环终止条件,完美的将移山这个庞大的工程比作了简单的编程小程序。

      我们学习编程的都知道“程序=算法+结构”,这个公式并没有在任何地方涉及编程的知识,代码是根本不存在的,存在的只是思想。在计算机专业的学习中,同时讲算法和结构的是“数据结构”,而在所有的算法描述中,有且仅有顺序,分支和循环这三种执行逻辑。学习编程,就是学习如何去和计算机交流,你需要做的,只是通过计算机语言给计算机下达命令,剩下的执行过程,完全交给计算机。作者告诉我们:积极工作和勤于思考都要占时间。当然,在学习了各种计算机语言之后,想要熟练的运用它,还需要一定的方法,我们更应该像李冰那样“懒惰”而不是像愚公那样“勤快”,只有这样,才能适应瞬息万变的社会。也正是因为人们的懒惰,出现了所谓的“工程”。

      对于语言,并没有会与不会,只有喜欢与不喜欢,任何一门语言都可以在两周之内学成,因为他们的基本函数库都是相似的。语言的差别主要是表现在适用范围上,有的可以精确到原子级,表达无穷之小;有的适合做图形处理,它的基本函数书库比其他语言可以快上十倍甚至数十倍;还有的适合做网页,用它做一个通讯薄软件都将是史无前例的挑战,成天讨论那个语言好坏的人甚至可悲,不仅仅是它的一叶障目,更是被他大愚若智的自我蠢哭了。没有一种语言会一直是主流语言,在计算机里有很多种语言,如C++,JAVA等,我们不一定要掌握全部的语言,只需要精通两三种,剩下的就是学习能力。

      整本书读下来,谈及最多的无非客户的需求、团队的合作、经营管理等等。在整个项目开发的过程中,要做到高效,则需要不同角色的层层人员达到有效沟通,例如项目的分析报告为设计人员所看不懂,设计人员的方案为开发人员所看不懂,而开发的结果为测试人员所看不通等等都是沟通问题。维护旧项目比做新项目更难,原因即在于旧项目的编码人员没有做好历史记录,新人在维护旧项目时无法正确理解旧项目的编码,记录又无从可查,导致后续一系列工作难以开展,既费时又费力。所以做好项目的前提,必然要选择一种行之有效的、能在各个项目角色间通用的、适合的沟通方式,开发过程中,及时完善历史记录。

      做编程工作,实现才是目的。无论项目多大或多小,我们的目标,都是要实现它。失败的过程也是过程。经历无数次失败,最能将其更完美的实现。工程只是一种实现的途径。

      大道至简告诉了我们一些编程和工程管理中一些需要注意的方法技巧,并且教会我们在接下来的学习与实践中如何去思考。

  • 相关阅读:
    【动态规划/二维背包问题】mr355-三角形牧场
    【动态规划】mr354-坐车看球
    【深度优先搜索】mr353-取奶
    【动态规划】mr351-办签证
    【贪心】POJ2393-Yogurt Factory
    centos 7 systemctl
    linux 程序或服务开机自启动
    linux终端快捷键
    linux 安装
    unix
  • 原文地址:https://www.cnblogs.com/baimafeima/p/9345723.html
Copyright © 2011-2022 走看看