领悟程序员的哲学

belltoy
2009-09-06 看过
在大学的时候,编程是我的兴趣,也是当时我给自己定位的职业方向。

当我在图书馆看到这本《程序员修炼之道》的时候,直觉告诉我应该看看这本书,或许对我的成长有帮助。读完之后更加肯定了自己的直觉是对的。当时我虽然没有实际项目的开发经验,不能一时领悟其意,但我明白,这本书中总结的原则和方法对我来说是极为宝贵的,于是买了一本放在床头。

参加工作后,随着编程经验的积累,我越来越能体会到这本书中的观点。每次重读书中的章节,我都会有新的收获;再结合自己的每次经历,都能与之共鸣——这是对我影响最深的一本书,也是我向朋友和同事推荐次数最多的一本书。有趣的是,书前Kevin Ruland的评论说:这是我唯一不会出借的一本书。究竟是一本什么样的书会让大师如此爱不释手?

这本书所涉及的内容很广,涵盖了程序员成长过程中和软件开发过程中要注意的地方。从程序员的个体哲学到编码过程中的各个环节,再到团队的项目管理;从程序员要如何扩充知识,如何思考问题,如何利用有效的工具打造个人的工作环境,到项目启动之前如何建立一些基本准则,如何分析、设计、编写、测试、重构,如何实现自动化,甚至是项目团队中提高实效的原则。书中的内容全都来自经验的总结,倡导编程中正确的观念和良好的习惯,而这正是优秀的程序员必须拥有的良好素质。

书中讲述的原则源于实践,高于实践,它们蕴涵着前辈们的智慧。随着知识的扩展、编程体验的增加,对这本书中的内容的理解也会愈加深刻。反过来,对前辈菁华的吸收,有助于我们提高编程水平,开发出更好的产品。

我深信这不是一本只要读一遍的书。这些原则看似简单,但细细品味一番,却是大哲大道,环环相扣,要理解透彻并不容易。例如,提示44告诉我们“不要靠巧合编程”,这道理看起来好像很简单,但我发现实际工作中还是很容易就犯这个错的。细想一下Bug列表中的问题,其中大多数问题不正是由于作了不正确的假设,或者是想当然造成的吗?要是一开始就有了深思熟虑,经过了合理的设计,完整有效地进行了测试,应该大部分都可以避免吧。而思考、设计、测试又紧扣书中其他章节。

曾经和朋友讨论关于员工培训的事。如果给程序员做培训,我首选的材料就是这本《程序员修炼之道》。
--
注:这是应博文视点周老师的邀请,为这本书的再版写的书评。希望更多的程序员朋友能够读一读这本书。

http://blog.belltoy.net/reveiw-the-pragmatic-programmer.html
另外一篇我写的书评:
http://blog.belltoy.net/read-the-pragmatic-programmer.html
5 有用
0 没用

查看更多豆瓣高分好书

评论 3条

查看全部3条回复·打开App 添加回应

程序员修炼之道的更多书评

推荐程序员修炼之道的豆列

了解更多图书信息

豆瓣
免费下载 iOS / Android 版客户端