《程序员修炼之道》读书笔记
这周我读了《程序员修炼之道》,收获很多。
书中有一篇文章谈到务实的哲学。程序员要有务实的精神,特别要做到以下几点:有责任感、愿意改变、可以平衡取舍、丰富的知识和技能、良好的沟通能力。我认为其他几点都很容易做到,但可以平衡取舍和愿意改变两点尤其难做到。平衡取舍,指的是不要过度追求完美,因为完美根本就不存在。只要做到“够好“就可以了。至于”够好“的标准是什么,这需要丰富的经验才能做出判断。愿意改变则是说程序员要能克服不良习惯,还要能走出舒适区,勇于直面困难。
书中也提到了一些编码和设计上的问题,例如:低级的代码不需要注释;代码应该高度可复用;良好的系统设计应该让各个部分互相独立;快速设计原型,验证可行性或得到用户反馈,但在正式开发中不采用原型;领域特定语言很重要,但它的设计应该越简单越好,不应该过度工程,Json,xml 等数据语言的设计就非常简洁;断言不能有副作用,而且应该可以被安全地去掉;细节和经常变化的逻辑可以写在数据里,通过配置来动态修改;重构越早做越好,做完后要进行回归测试;使用契约式设计,多用前置命题、后置命题和断言。总而言之,写代码的时候要注重代码规范和代码质量,但又要平衡时间投入和实际产出,不应该花太多时间在“精益求精”上。