程序员,为你的程序而骄傲吧
1,086 views| 2008-12-02| 李先静| 沉思录| | 5 条评论转载时请注明出处和作者联系方式
文章出处:http://www.limodev.cn/blog
作者联系方式:李先静 <xianjimli@gmail.com>
一些人认为程序员都有自大狂倾向,我不知道这种想法源于何处有何根据。谦虚是中华民族的传统美德,我们不但从小到大都受这类教育,而且在关于软件的方面的书中,也不忘提醒我们要谦虚谨慎,一些前辈更是无私的和我们分享要谦虚的经验。
在这样的多重教育下,难道我们还会顽固不改吗?每次代码评审时,我们都会说,不好意思,代码写得比较烂。每次移交工作时,我们都会说,不好意思,工作做得不好。每次发布软件时,我们都会说,不好意思,里面还有很多问题。你看,我们是何等的谦虚,也是何等的诚实(不是真的很烂吗)!
不是自大,相反,我们是太谦虚了。程序员会说,放心吧,这是我做的设计,这是我写的代码。或者是说,我是这方面的专家,有问题只管找我。你听过类似的话吗?至少我是很少听到的。当然,或许在简历上这样写过,但扪心自问,那是自大还是骗人?
谦虚已经不再是促进我们进步的力量,而是成了掩饰我们不负责任的外衣。代码评审前先谦虚一下,即使在评审过程中发现大量问题,也心安理得,反而证明了我们诚实的品质。在移交工作时谦虚一下,把烂摊子推给别人,我们不再内疚。在发布软件时,谦虚一下,把软件中的BUG视为理所当然。
我对Donald E. Knuth的景仰并非源于他的几本巨著,因为总共看了不到200页,也不是源于他那套著名的排版软件,因为从来都没有用过。而是源于他说过的一句话:
“我确信TEX的最后一个错误已经在1985年11月27日被发现并排除掉了。但是如果出于目前尚不知道的原因,TEX仍然潜伏有错误,我非常愿意付给第一个发现者$20.48元。(这一金额已是以前的两倍。我打算在本年内再增加一倍。你看我是多么自信!)”
大师李敖说: 表面上我是非常的狂傲,而我内心冷静得不得了。这话同样适用于Knuth。Knuth在说前面那句话之前,不知道把TEX的代码和设计检查了多少遍,考虑过多少种可能性,所以他确信没有BUG了。
Knuth这样说,决不是出于冲动或者虚荣心,而是出于一种敢于承担责任的勇气,一种对自己作品的自信,一种追求完美的态度。这种勇气、这种自信和这样态度正是我们所缺乏的!
试想,如果他说,我已经在TEX里发现了大量BUG,根据经验表明,发现的BUG越多,说明软件里残留的BUG也越多。这没有办法,测试只能证明软件有BUG,而不能证明软件没有BUG,大家先用着吧。
对比前后两者,我们是喜欢前者的勇气和自信还是后者的谦虚?至少我更欣赏前者的勇气和自信,更景仰那他那种追求完美的态度。
现实中这样的程序员太少了。以前有位同事,他是linux组的leader。当时我刚毕业,负责写一些小工具和测试程序。他负责一个重要模块,估计有三万来行代码,让我去测试它。我说现在太忙,可能没有时间。他微微一笑说,其实也不用测试,没什么问题的。没多久他走了,我继续呆了两年多,事实证明他说的没错,三万行代码中出现的BUG不超过5个!
没见过第二敢这样说的人,大家都是谦虚的好孩子。
这到底是水平问题,还是态度问题?什么时候我们才那样的水平,什么时候我们才那样的态度?什么时候我们才敢说,这是我写的,没有问题,放心的用吧!什么时候我们才会为我们的作品而骄傲?
Share
Comments
Tags
Recent Posts
Most Viewed
- 系统程序员成长计划写作提纲 - 19,605 views
- Android IPC机制详解 - 6,277 views
- 系统程序员成长计划-走近专业程序员(上) - 6,253 views
- 系统程序员成长计划-写得又快又好的秘诀(一) - 5,390 views
- 系统程序员成长计划-背景知识 - 5,070 views
- i++循环与i–循环的执行效率 - 4,712 views
- 系统程序员成长计划-Write once, run anywhere(WORA)(上) - 4,700 views
- 系统程序员成长计划-走近专业程序员(下) - 4,254 views
- Linux下的调试工具 - 4,017 views
- Advanced Linux Sound Architecture (ALSA) 研究笔记 - 4,017 views
- 系统程序员成长计划-序 - 3,985 views
- 系统程序员成长计划-写得又快又好的秘诀(三) - 3,929 views
- 中国人与自由软件文化研究(搞笑版) - 3,735 views
- Android中的MessageQueue,Handler,Looper和Thread - 3,686 views
- 答复:我不会OOO,仍然可以XXX - 3,658 views
Categories
- Android (28)
- Broncho-A1-Hack (6)
- DirectFB (7)
- FTK(嵌入式GUI) (24)
- GTK+ (29)
- KVM hack notes (8)
- Linux Mobile (65)
- Management (5)
- Mozilla (9)
- Open Source (5)
- Programming (34)
- Tools (9)
- Uncategorized (23)
- Win32 (3)
- X Windows (31)
- 沉思录 (29)
- 系统程序员成长计划 (67)
Blogroll
gallery
Linux guru
推荐网站
Recent Comments
- Dig on 嵌入式GUI FTK设计与实现-事件源(FtkSource)
- 用心生活每一天 » GNU gprof: linux profiling tools 使用 on gcc profiling的工作原理
- JavaScript for: i++ vs i–-传播、沟通、分享-一直“有你” on i++循环与i–循环的执行效率
- Frankly Law on 嵌入式GUI FTK介绍(11)-交叉编译
- tracing on Linux下的调试工具
- ndljsn on FTK移植指南(初稿)
- tracing on 爬塘朗山
- tracing on GTK+(基于DirectFB)的字体处理
- Kely on 系统程序员成长计划写作提纲
- tracing on 爬塘朗山



December 2nd, 2008
hi
December 2nd, 2008
不敢苟同--因为要达到所谓没有错误承担状态,是需要时间和精力的。而开发过程不可能给你足够的时间来达到这个“完美”的状态。需要在总体和局部中进行权衡---那个更重要!!
Dig
December 3rd, 2008
只有对自己代码和系统了熟于心才敢这样说吧
chengchuan
December 3rd, 2008
我觉得骄傲的不是自己的程序,而是当实施或维护人员将BUG告诉我的时候,他们对我的信心,他们知道我会第一时间给他们满意的回复;当客户将BUG通知我时,他们对我的信任,因为他们知道,我会在他们期望的时间内,给出比他们期望更好的解决方法;当客户知道他们系统的BUG被我从其他程序员手上接过来时,他们的笑声;当系统的BUG一直被拖,无人解决而我接手时老板的信任;
chengchuan
December 3rd, 2008
与水平有关,和态度也有关系。态度决定一切,这话也许有点过激,但也不无道理。记得有一次,一个客户的方案突然变了,系统要作修改,我一同事一听说,她看了代码,说要改数十个函数,还要改数据库表,结果系统全乱了,她没办法,只好让我去做,我告诉她,只改一个函数,结果客户笑了。我对所写的代码熟悉,就像对我的十个手指头一样。
Tairan
December 5th, 2008
这的确是水平和态度的问题,记得Eric s Raymond在如何成为一名hacker中提到
The hacker attitude is vital, but skills are even more vital.