Chinaunix首页 | 论坛 | 博客
  • 博客访问: 483052
  • 博文数量: 120
  • 博客积分: 3052
  • 博客等级: 中校
  • 技术积分: 1755
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-01 09:43
文章分类

全部博文(120)

文章存档

2011年(20)

2010年(3)

2009年(52)

2008年(45)

我的朋友

分类:

2008-11-08 12:37:27

perl 的作者说,优秀的程序员应该有的三个优良品质是:懒惰,急躁,傲慢。
从中文词性上看,这三个词都是贬义,我还是习惯给它们都加上”伪“作为前缘,因为这只是表象,实质不是这样的。
《大道至简》上说,”停下来,思考,才是进步的本质“。可以说是对”伪懒惰“的最好诠释。
是的,确实是这样。

有的人可能一天天很忙,忙得找不到北,可是,他可能创造不了多少生产力,而只是在浪费时间,浪费自己的时间,也浪费别人的时间。是的,浪费别人的时间,试想一下,在一个工程中,一个关键环节的延误,带来的将是整个工程的延期。

可是,他们是在忙呀!你可能这样为他们辩护。

忙就是好吗?

一个具体的例子:在一个 java 项目中,原来用的注释都是 "/* */" 的格式,现在想用 javadoc 或者 doxygen 的注释格式来自动生成文档,也就是 "/** */"格式,怎么办?源代码文件不多,也就 10 个。

对于一个勤劳的程序员,马上动手,改嘛,就 10 个文件,一个个打开,用”编辑 --> 替换 -->'/*' 换成 '/**' -->全部替换 “,搞定。用不了 10 分钟。我们说,他是勤劳的。

但是对于一个伪懒惰的程序员,他会坐着不动。然后想”这个问题会不会再次发生?我是不是每次都要这样重复劳动呢?“他得出的结论是,这个改动很有可能将来的哪一天还会需要,比如又有了新的代码,也要做同样的处理,或者是其它的格式转化。怎么办?
精确的重复工作,是计算机的特长。
这个问题,对于我,我只要

for f in *.java

do

sed -i -e "s@/*@/**@g" $f

done

就好了。是的,我很懒,懒到有时间在那里坐着不动。

《Getting Thing Done》里说,我们应该把要做的事情写下来,然后去完成它们,这样就可以一步步的实现我们的目标和计划,最终改变我们能改变的,实现我们的理想。但是,前面有个前提,就是”这件事要事先安排好“。所谓”磨刀不误砍柴工“,就是这个道理吧,哈哈,殊途同归了。

《The Pragmatic Programmer》 里最重要的一条更是说”Don't Repeate Yourself“.

你真的知道怎么做到这一点吗?
我正在学,而且我相信我能学会,因为我渐渐知道了它的力量。
在科学和数学的领域,尤其如此。不走弯路,你就是在走捷径。
阅读(1562) | 评论(0) | 转发(0) |
0

上一篇:paper

下一篇:jdk 1.4 与 1.6 的区别

给主人留下些什么吧!~~