《卓有成效的程序员》推荐序:做一个懒人

  • 李剑

2009 年 3 月 14 日

话题:JavaSOA敏捷.NETRuby最佳实践架构语言 & 开发文化 & 方法

很多人都——如郑渊洁、马云——都曾经总结过懒人对于世界进步所起到的作用,但无论如何,到底还是勤奋的人居多。

比如,在 Firefox 3 里面,懒人会利用网址记忆联想功能,在地址栏里面输入 infoq,在弹出的下拉框中找到 http://www.infoq.com/cn/。而勤奋的人会不厌其烦的一次又一次输入整条网址,然后回车。

又比如,在 Eclipse 里面,要为一个类生成 main 方法,懒人会输入 main,按一下 alt + /,再直接回车。而勤奋的人会运指如飞,敲出 public static void main(string args[]){…}

有那么很长一段时间,在记熟了大多数 Firefox 和 Eclipse 快捷键,用过各种插件、写过一堆自动化脚本……之后,我就欣欣然以懒人自居了。但翻开书稿没几页,小小的自鸣得意便化作了羞惭,而当书一页页翻过,在酣畅与快乐中,羞惭也消失殆尽。那不仅仅是眼前一亮,而是仿佛于中关村见芳草绿地,重重楼宇间见月色苍茫。

原来懒人也有境界高下,有的于无意间得一鳞半爪,但不知触类旁通,或曰具懒人之形;有的时刻于一切可能之处寻省时省力省心之法,或曰得懒人之神。

懒人不会费心去猜类名的含义,对那种要啃上几百行语句才能明白方法作用,或是跟着一大串 if/else/switch/case 跑来跑去的代码深恶痛绝,更不愿意发现有朝一日自己也读不懂自己的代码,所以他们会把代码写的很简洁、清晰,让人一眼就能看懂用途。

懒人不愿意花时间做无用功,所以他们的设计原则是够用就好;面对不可完全预知的未来,轻装上阵会让他们感觉很爽快。

懒人不喜欢花上一两个小时乃至大半天的时间做 debug,做 bug 修复,更是不愿意改了一个 bug 或者修改一处需求引出若干连锁反应,所以他们一定要写单元测试,覆盖到绝大多数乃至每一处功能点,而且代码的每一处改动一定会有对应的单元测试。

懒人不喜欢做简单重复的工作,因为“手工执行简单重复的任务会让你变傻,会消耗你的注意力,而注意力是最重要的生产力之源。”(作者语)所以他们会找工具、写程序来帮助自己做这样的事情。他们崇尚的是,能够让机器自动化做的,就不要手工做。因为人的时间比机器时间值钱。

如果你想做一个真正的懒人



就请继续读完这本书

因为这本书是天堂

如果你不想做一个真正的懒人



那也可以读完这本书

因为它至少可以教会你掌握一些小窍门耍酷,而且要比从前那种一遍遍敲 ls 或者 dir 滚屏更加专业。

那么,到底这本书像什么呢?唔,就比作营养饮品吧,无论你将来选择怎样的职业生涯,你都会获益匪浅,因着书中的养分,还有益菌因子。

最后再友情提示一下,看书的时候请不要一口气读完,不然作者所介绍的一些非常实用的小工具你还得回头再来找一遍下载地址,有我一个犯傻的就够了。

JavaSOA敏捷.NETRuby最佳实践架构语言 & 开发文化 & 方法