《程序员的修炼之道》读书笔记
①关于软件的熵及“破窗户”理论
由于软件在开发过程中也是趋向于熵增加的,因此我们需要想办法抑制程序趋向于无序性,趋向于腐烂。而最为关键的一点就是不要容忍“破窗户”,即不好的书写风格或检查出来的小bug。
因为,当程序整体都很完美时,没有人忍心去破坏这种美,任何操作都小心翼翼,尽量使自己的书写符合整体标准风格,看到一个小问题就马上修复,即使修复不了也要将其注释或隔离起来。然而,一旦哪一天因为惰性而容忍了某些瑕疵,就会有这种感觉——既然程序已经这样了(风格不好看或充满了bug),我就可以写的随意一些,不用在意太多细节,有bug也可以留着最后修复,哪怕最后不管问题也不大……这样下去,整个程序的大楼终将土崩瓦解。
②温水煮青蛙理论与知识更新
温水煮青蛙理论:直接将青蛙扔进热水它会立刻跳出去,但把青蛙放进冷水里再缓慢加热,青蛙最终将被煮熟。这个理论告诉我们不要沉溺于眼前的大图景,时代是在不断变化的,知识在不断更新,如果不能够及时适应新的变化就会被淘汰。
学习软件也是如此,我们不能期待用自己学过的东西来解决一切问题,软件技术、编程技术的更新实在太快了,在面对新的变化、新的环境时,要能够边学边做,将新知识快速变现。同时,我们要有投资知识的意识,比如每年学一门新的语言,每个月看一本相关的书籍等等,只有不断投资知识,才能更快适应行业的变化。
③避免重复,维持正交性
大部分软件的开发可以遵从敏捷开发的形式,这就要求在开始的设计中将各个模块尽可能分离开来,减少代码的重复。代码之间越是独立,开发的效率也就越高,因为每次修改时只要针对性地删改小的部分,否则,任何重复的地方都要返工。所谓正交性,即两个部分间互不影响,其一的改变不会影响另一个,在软件开发中维持正交性,既有利于分工,也减少了开发成员间多余的交流以及不必要的争执。