惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Proofpoint News Feed
WordPress大学
WordPress大学
S
Schneier on Security
Recent Commits to openclaw:main
Recent Commits to openclaw:main
AWS News Blog
AWS News Blog
The Cloudflare Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 叶小钗
NISL@THU
NISL@THU
T
Tor Project blog
L
Lohrmann on Cybersecurity
D
Darknet – Hacking Tools, Hacker News & Cyber Security
博客园 - 聂微东
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
月光博客
月光博客
Microsoft Azure Blog
Microsoft Azure Blog
P
Proofpoint News Feed
G
GRAHAM CLULEY
博客园_首页
K
Kaspersky official blog
GbyAI
GbyAI
P
Privacy & Cybersecurity Law Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
AI
AI
爱范儿
爱范儿
Cloudbric
Cloudbric
MongoDB | Blog
MongoDB | Blog
Martin Fowler
Martin Fowler
aimingoo的专栏
aimingoo的专栏
I
InfoQ
腾讯CDC
O
OpenAI News
F
Full Disclosure
P
Privacy International News Feed
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Webroot Blog
Webroot Blog
Forbes - Security
Forbes - Security
MyScale Blog
MyScale Blog
L
LangChain Blog
H
Help Net Security
C
CERT Recently Published Vulnerability Notes
C
Cisco Blogs
人人都是产品经理
人人都是产品经理
S
Security @ Cisco Blogs
T
Tenable Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
N
News and Events Feed by Topic
博客园 - 三生石上(FineUI控件)
Attack and Defense Labs
Attack and Defense Labs
Apple Machine Learning Research
Apple Machine Learning Research

博客园 - ColorSky

小议winForm的热键 一定要找到你--IE隐藏文件 One sentence humor Self-service How do you add reference dll from GAC? 其实它不是我想象 关于目标 英语文化陷井 Everyday English - Glove Troubleshooting for Asp.net CS0016 error [ZZ]C#四种排序算法 唐僧的家书 minute_DesignPatternExplained(4) 管理的问题-聪明和笨的程序员 一个应用程序在某一时刻,到底是用了多少内存? 揭秘devenv 如何以两种启动模式启动 算法的力量 minute_DesignPatternExplained(2) 转载同事写的:2006TechED感想
程序员,为你的程序而骄傲吧
ColorSky · 2006-11-03 · via 博客园 - ColorSky

转载:http://blog.csdn.net/absurd/

 一些人认为程序员都有自大狂倾向,我不知道这种想法源于何处有何根据。谦虚是中华民族的传统美德,我们不但从小到大都受这类教育,而且在关于软件的方面的书中,也不忘提醒我们要谦虚谨慎,一些前辈更是无私的和我们分享要谦虚的经验。

在这样的多重教育下,难道我们还会顽固不改吗?每次代码评审时,我们都会说,不好意思,代码写得比较烂。每次移交工作时,我们都会说,不好意思,工作做得不好。每次发布软件时,我们都会说,不好意思,里面还有很多问题。你看,我们是何等的谦虚,也是何等的诚实(不是真的很烂吗)

不是自大,相反,我们是太谦虚了。程序员会说,放心吧,这是我做的设计,这是我写的代码。或者是说,我是这方面的专家,有问题只管找我。你听过类似的话吗?至少我是很少听到的。当然,或许在简历上这样写过,但扪心自问,那是自大还是骗人?

谦虚已经不再是促进我们进步的力量,而是成了掩饰我们不负责任的外衣。代码评审前先谦虚一下,即使在评审过程中发现大量问题,也心安理得,反而证明了我们诚实的品质。在移交工作时谦虚一下,把烂摊子推给别人,我们不再内疚。在发布软件时,谦虚一下,把软件中的BUG视为理所当然。

我对Donald E. Knuth的景仰并非源于他的几本巨著,因为总共看了不到200页,也不是源于他那套著名的排版软件,因为从来都没有用过。而是源于他说过的一句话:

“我确信TEX的最后一个错误已经在1985年11月27日被发现并排除掉了。但是如果出于目前尚不知道的原因,TEX仍然潜伏有错误,我非常愿意付给第一个发现者$20.48元。(这一金额已是以前的两倍。我打算在本年内再增加一倍。你看我是多么自信!)”

大师李敖说: 表面上我是非常的狂傲,而我内心冷静得不得了。这话同样适用于KnuthKnuth在说前面那句话之前,不知道把TEX的代码和设计检查了多少遍,考虑过多少种可能性,所以他确信没有BUG了。

Knuth这样说,决不是出于冲动或者虚荣心,而是出于一种敢于承担责任的勇气,一种对自己作品的自信,一种追求完美的态度。这种勇气、这种自信和这样态度正是我们所缺乏的!

试想,如果他说,我已经在TEX里发现了大量BUG,根据经验表明,发现的BUG越多,说明软件里残留的BUG也越多。这没有办法,测试只能证明软件有BUG,而不能证明软件没有BUG,大家先用着吧。

对比前后两者,我们是喜欢前者的勇气和自信还是后者的谦虚?至少我更欣赏前者的勇气和自信,更景仰那他那种追求完美的态度。

现实中这样的程序员太少了。以前有位同事,他是linux组的leader。当时我刚毕业,负责写一些小工具和测试程序。他负责一个重要模块,估计有三万来行代码,让我去测试它。我说现在太忙,可能没有时间。他微微一笑说,其实也不用测试,没什么问题的。没多久他走了,我继续呆了两年多,事实证明他说的没错,三万行代码中出现的BUG不超过5个!

没见过第二敢这样说的人,大家都是谦虚的好孩子。

这到底是水平问题,还是态度问题?什么时候我们才那样的水平,什么时候我们才那样的态度?什么时候我们才敢说,这是我写的,没有问题,放心的用吧!什么时候我们才会为我们的作品而骄傲?