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

      倘若说《人月神话》是写给有了一定开发经验的工程师,那么《构建之法》就是写给还在大学的学生的———这是我读了一部分《构建之法》的感觉,大概还有一部分翻译的原因,《人月神话》读起来有些拗口,并不容易理解,但《构建之法》不同,一来作者是中国人,遣词造句比较符合中国人的习惯;二来作者运用了大量的例子和生动形象的比喻,将抽象难懂的名词化解为易于理解的语句。

      在读到如何衡量一个软件工程师时, 我用我自己的数据暗中比较了一下……结果太过感人,还是不要写出来的好。事实上,在每次写程序时,我并没有仔细的将程序分解,也就是说,我每次写程序时都是直接开始写:新建项目、写入方法,遇到不会的上网搜索,继续写方法,最后main函数运行……弹出一堆异常。然后再一点一点找错误,修bug。这样很明显会造成代码重复率居高不下、方法杂乱不堪,错误百出。不过我觉的这是像我一样的软件工程学生的通病。当然,通病并不代表法不责众!我需要好好反思,在下一次开发程序时尽量学会仔细分析程序,争取避免上述毛病。

      除此之外,“软件工程师的思维误区”可以说是真正与我“不谋而合”———无论是“分析麻痹”,还是“不分主次”,亦或是“过早优化”,似乎都是我已经犯过的错误。分析麻痹:这个参数谁给的?它要跳到哪里?怎么又回来了?咦?这个参数变了?怎么变的?谁给的?看吧,进入了一个“绝望循环”。不分主次:先写登录!登录要连接主页,先把主页搞定!主页需要css布局和各种图片,先上网搜图片!然后就变成了网上冲浪!过早优化:老师让写一个商业网站demo,老规矩,先写登录。咦?这个登录需要验证码?写一个验证码;登录输入的数据还需要检测是否为空,是否是数字字母组合,用户名首字母不能为数字,密码长度为8位以上,必须是数字字母字符结合,首位密码不能为符号……为什么我一天只做了一个登录还没做完?明天就要交了……算了主页面随便写写好了……

      总之,在读《构建之法》时,我也从中吸收了不少有用的知识,还时不时读到一些我模糊能感觉到的理解,却在书中用很浅显的语句写出的“感悟”。这大概就是读书的乐趣吧!

  • 相关阅读:
    Leetcode Substring with Concatenation of All Words
    Leetcode Divide Two Integers
    Leetcode Edit Distance
    Leetcode Longest Palindromic Substring
    Leetcode Longest Substring Without Repeating Characters
    Leetcode 4Sum
    Leetcode 3Sum Closest
    Leetcode 3Sum
    Leetcode Candy
    Leetcode jump Game II
  • 原文地址:https://www.cnblogs.com/YXSZ/p/11040504.html
Copyright © 2011-2022 走看看