心有多大舞台便有多大

Embrace changes, pursue excellence, share niceness.

不会偷懒的程序员不是好程序员!

今天看了篇文章:
http://blogoscoped.com/archive/2005-08-24-n14.html

这篇文章是讲为什么好的程序员是既懒有笨的!哈哈!
我记得在看UNIX编程艺术时,里面也有这么段话,说不会偷懒的程序员不是好程序员!
为什么呢!我们可以举些简单的例子:
1.只有懒惰的程序员才会去编写那些可以最终代替自己工作的自动化工具,好的程序员都会有一套自己的代码自动生成工具,有的是用模板语言,有的是用shell.在开发一个新的系统时,系统基础框架设计好后,很多业务层代码基本上都是一个模子出来的,要想让这些代码都是从一个模子里出来,那么就需要在底层下很大的功夫才能做到.所以,每个程序员够应该有,或者会写代码自动生成工具,当然,这个工具并不是一个成功工具!它的前提是你必须在底层有足够的抽象.

2.只有懒惰的程序员才不会去去写大段的冗余重复的代码,他们会想出各种方法来避免这种冗余代码的情况,做的好的,就是在系统的基础架构层来解决大部分这样的问题,通过精致的设计模式,高度抽象的模块,易用的接口,高度可配置的基础平台等等来实现,做的一般的会利用各种开源工具来代替自己想要的代码,做的差些的就是不断利用refactor重构出那些重复代码.

3.好程序员怎么可能"笨"呢!哈哈!俺们可都是天之骄子啊!小心我扔你鸡蛋啊!
很聪明的程序员一般比较自信,难以听进别人的意见,在一个团队中,最怕的并不是怕没有技术好的人,而是怕那些很聪明的人不跟你团队保持一致,举个例子,可能团队里有一套通用的数据存取方法,但聪明的程序员会坚持己见,自己发明出一套新的方法来!聪明的程序员会认为自己更懂客户的需求,而不顾市场人员提出的需求.这也是为什么很多人会说"要对团队中听话的人委以重任",我当然不同意这种看法,但是,既聪明团队意识又好的人,就比较少见了.团队不行的话,一个人再聪明又有什么用?

4.聪明的程序员喜欢自己重新发明轮子!笨的程序员喜欢利用聪明的程序员写出的代码!

5.聪明的程序员一般有自己思维的定势,笨的程序员因为什么都不懂,所以他的眼里什么都是可能,什么都是不可能!查找代码问题的时候,聪明的程序员首先会说:这是系统的bug,笨的程序员会看看自己的代码是不是有拼写错误!笨的程序员跟容易换位思考,下面有个例子:
一段关于web开发问题的程序员和客服人员的对话:

“从昨天开始我们的用户就看不到我们站点上的Logo了。”
“他试过重启浏览器么?”
“是的。”
“他试过重启电脑么?”
“是的。”
“他清空过浏览器Cache么?”
“是的。”
“他的浏览器版本是IE6么?”
“是的。”
“他确信是真的看不到Logo了么?”
“是的。”
“他是在电脑显示器屏幕上看我们的站点么?”
“什么?”
“比如说,它可能是打印出来看不到?”
“不。他是在显示器上看的。”
“除了站点Logo之外,他是不是其他的图片都看不到?”
“什么?哦。我再问问他。”

也许,聪明的程序员遇到这个问题的时候,甚至可能去找个图形算法分析下这个图片是否有问题!

最后,以http://blogoscoped.com/archive/2005-08-24-n14.html中的故事结尾,,以博列为看官一笑^_^
It’s like the story of the centipede(蜈蚣). The centipede was very good at walking with its hundred legs. It never spent a thought on just how it could walk. Until one day, when a big black bug(臭虫) asked the centipede “How can you manage to walk with all those feet? Don’t you find it hard to coordinate their rhythm?” The black bug already left, when the centipede was still sitting down, pondering how it could walk, wondering, and (for the first time in his life) even worrying a little bit. From that day on, the centipede couldn’t walk anymore.
So you better not think too much if you want to achieve something. And of course this is only half the truth, too...

posted on 2008-06-20 11:38 pony 阅读(2162) 评论(4)  编辑  收藏 所属分类: 网站

评论

# re: 不会偷懒的程序员不是好程序员! 2008-06-20 14:50 seewood@gmail.com

懒惰是行为上的,至少思想上必须是勤劳的。但是有的真正的懒惰的程序员是思想上的懒惰:大段冗余的程序?没有关系,至少可以用copy大法,不需要想太多,反正工资是一样的  回复  更多评论   

# re: 不会偷懒的程序员不是好程序员! 2008-06-20 15:01 pony

@seewood@gmail.com
呵呵,对于这些真正懒惰的程序员,我想只能送下面的这段话给他:
UNIX编程艺术的一段话:
“软件设计和实现应该是一门充满快乐的艺术,一种高水平的游戏。如果这种态度对你来说听起来有些荒谬,或者令你隐约感到有些困窘,那么请停下来,想一想,问问自己是不是已经把什么给遗忘了。如果只是为了赚钱或是打发时间,你为什么要搞软件设计而不是别的什么呢?你肯定曾经也认为软件设计值得你付出激情......"
  回复  更多评论   

# re: 不会偷懒的程序员不是好程序员! 2008-06-20 18:15 HiMagic!

懒的是手,勤的是脑。要以做重复劳动为耻。  回复  更多评论   

# re: 不会偷懒的程序员不是好程序员! 2008-06-21 08:45 Matthew Chen

说偷懒是玩笑话。
写程序就是写程序,想的并没有那么复杂,写好了就是。
不过lz文章中的聪明的程序员指的只是小聪明,是聪明反被聪明悟的那种。  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航: