InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

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

作者 李剑 发布于 2009年3月14日

领域
语言 & 开发,
架构 & 设计,
过程 & 实践,
企业架构
主题
编程 ,
职业生涯 ,
.NET ,
Ruby ,
敏捷 ,
SOA ,
Java ,
架构
标签
专家解惑 ,
最佳实践

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

比如,在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滚屏更加专业。

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

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


这里有迷你书下载,还有China-pub购买

李剑 李剑──ThoughtWorks高级咨询师,在持续集成、重构等领域具有丰富的经验;多次为国内大型企业敏捷组织转型提供咨询和培训服务。

真糟糕。。 发表人 Yao Sapphire 发表于
Re: 真糟糕。。 发表人 小刀 凉粉 发表于
迷你书制作的很糟糕 发表人 舒 逸飞 发表于
Re: 迷你书制作的很糟糕 发表人 霍 泰稳 发表于
迷你书在Apple上无法打开. 发表人 Lv Daniel 发表于
关于MINI书版式 发表人 广 佘 发表于
Re: 关于MINI书版式 发表人 Cong Jason 发表于
not bad 发表人 yu ryan 发表于
今天在书店里看到这本书 发表人 liang jizhen 发表于
  1. 返回顶部

    真糟糕。。

    发表人 Yao Sapphire

    上个月找工作去面试,面试考官还问我怎么成为好程序员,然后我就跟他说了关于此文所提到的“懒”。。。结果。。。那个公司没信儿了 >_<

  2. 返回顶部

    迷你书制作的很糟糕

    发表人 舒 逸飞

    点击目录项,页面大小为75%,字体很丑。

  3. 返回顶部

    迷你书在Apple上无法打开.

    发表人 Lv Daniel

    Leopard 10.5.6, 打开迷你书,阅读器(Preview)会崩溃...

  4. 返回顶部

    Re: 真糟糕。。

    发表人 小刀 凉粉

    这个……我一时想不到该说点啥了……

  5. 返回顶部

    Re: 迷你书制作的很糟糕

    发表人 霍 泰稳

    这本书因为不是通过文字转换成PDF文档,而是通过图片(特殊情况,出版社只提供这样的素材),所以文字不是很清晰,页面看上去也不是很美观。请谅解!

  6. 返回顶部

    关于MINI书版式

    发表人 广 佘

    各位读者大家好,我是机工社的编辑。在这里和大家说明一下这本MINI书版式的相关事宜。

    InfoQ编辑们为了服务各位会员朋友,从机工社拿到了独家四章样章。由于这本书是由O'Reilly公司排版,出版社本身也只有PDF格式,所以InfoQ的朋友们在制作时难勉为出一些版式上的问题,敬请大家谅解。

    如果大家觉得这本书对自己有帮助,推荐大家购买正式版本。

    谢谢大家

  7. 返回顶部

    not bad

    发表人 yu ryan

    这本书还可以,准备买实体书看下

  8. 返回顶部

    今天在书店里看到这本书

    发表人 liang jizhen

    很喜欢这本书,很好!

  9. 返回顶部

    Re: 关于MINI书版式

    发表人 Cong Jason

    正版有什么区别吗?错字连篇,孟岩的推荐里“甚至其反作用”的“其”应该是“起”
    校验的人在干什么

深度内容

应用云平台的可用性——从新浪SAE看云平台设计

云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。

JVM定制改进 @ 淘宝

淘宝高度重视Java平台的健康发展,组建了一个团队专注于Java平台的底层部分的性能、功能与稳定性改进;工作主要基于OpenJDK中的HotSpot VM开展,其中一些通用的功能随后也会逐渐反馈给OpenJDK社区。希望能与使用Java平台开发应用的大家交流经验。
本次演讲视频录制于QCon杭州2011

"伤得起"的云计算应用——对云端应用之架构的思考

2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。

让交付的速度跟上思考的速度

12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011

架构之路——穿行在产品和业务之间

篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011

特性注入:成功三部曲

本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。

解析JDK 7的动态类型语言支持

随着JDK 7的发布,字节码指令集终于迎来了第一位新成员——invokedynamic指令。这条新增加的指令是JDK 7实现“动态类型语言(Dynamically Typed Language)”支持而进行的改进之一,也是为JDK 8可以顺利实现Lambda表达式做技术准备。在这篇文章中,我们将去了解JDK 7这项新特性的出现前因后果和它的意义。

Java Remoting远程服务(下)

随着互联网应用的发展,Java分布式远程服务技术受到越来越多的关注,本文将对各种相关实现以示例的形式逐一介绍,并总结其中的优缺点,使读者能够在技术选型时有所准备。这是文章的下篇。