zoukankan      html  css  js  c++  java
  • 构建之法阅读笔记01

      最近阅读了邹欣老师写的《构建之法》这本书,看了前几节之后,我发现王老师现在的教学方法就是按照书中所讲,在做中学,感觉这样学习确实很有效果,少了很多的枯燥乏味的串讲,上课也比较有趣味性。

      开篇第一章概论,第一节中用程序员所熟知的:程序=数据结构+算法的名言,来引出程序员安身立命的程序。用程序员阿超给儿子设计出题程序,之后又根据学校的不同需求,将项目不断扩大,进而从一个简单程序,到应用软件,最后到软件服务。最后得到一个推论:软件=程序+软件工程,一个扩展推论:软件企业+软件+商业模式。得到结论:程序(算法,数据结构)是基本功,但是在算法和数据结构之上,软件工程决定了软件的质量;商业模式决定了一个软件企业的成败。软件从业人员和软件企业的道德操守会极大地影响软件用户的利益。接着通过类比玩具阶段、业余爱好阶段、探索阶段、成熟的产业阶段的几个小故事,告诉我们软件的开发也是从简单到复杂的,并列出了在每一个阶段成功或者失败的影响。

      单元测试、回归测试、效能分析,软件的测试是衡量软件是否合格的标准,作者提出,单元测试应该在最基本的功能/参数上验证程序的正确性,必须由最熟悉代码的人来写,单元测试过后机器状态保持不变,单元测试要快,产生可重复、一致的结果,独立性,覆盖所有代码路径。

      第三章作者讲述了团队对个人的期望。

    (1)有效的和其他队员交流
    (2)说到做到,按时交付
    (3)接受团队赋予的角色并按角色要求工作
    (4)全力投入团队的活动
    (5)按照团队流程的要求工作
    (6)做好准备工作
    (7)理性的工作

    很多人认为自己需要灵感和激情,才能为宏大的目标奋斗,才能成为专业人士,著名的艺术家Chuck Close说:我总觉得灵感是属于业余爱好者的。我们职业人士只是每天持续工作。今天你继续昨天的工作,明天你继续今天的工作,最终你会有所成就。

      作者又提出了软件工程师思维的几个误区:

    (1)分析麻痹
    (2)不分主次,想解决所有依赖问题
    (3)过早优化
    (4)过早扩大化/泛化(Premature Generalization)(画扇画,调侃目标和远景)

      通过对这一部分的阅读,我发现上面的问题在我平时的学习中也存在,正如果冻维修木桶一样,分析太多,出现麻痹,而迟迟不敢动手,导致在大的项目面前很难取得成效,另一种像小飞一样,为了解决一些无关的问题,而偏离了自己的方向,进而倒是项目难以进展。

      今后的代码学习中,我要合理的分析问题,不能像之前一样,过于畏惧大的项目,导致无从下手,也不能为了整个大项目的冰山一角,而拖慢了整体的进度,要合理的进行规划,不能使自己陷入思想误区。

      

  • 相关阅读:
    codeforces 980A Links and Pearls
    zoj 3640 Help Me Escape
    sgu 495 Kids and Prizes
    poj 3071 Football
    hdu 3853 LOOPS
    hdu 4035 Maze
    hdu 4405 Aeroplane chess
    poj 2096 Collecting Bugs
    scu 4444 Travel
    zoj 3870 Team Formation
  • 原文地址:https://www.cnblogs.com/lixv2018/p/11059426.html
Copyright © 2011-2022 走看看