平民程序 - linghuye's blog

天下风云出我辈,一入江湖岁月催。皇图霸业谈笑中,不胜人生一场醉。提剑跨骑挥鬼雨,白骨如山鸟惊飞。尘事如潮人如水,只笑江湖几人回。

随笔 - 221, 文章 - 0, 评论 - 680, 引用 - 0
数据加载中……

优雅的代码

程序写到了一定阶段,我很喜欢写清晰优雅的代码.优雅的代码易于理解和维护,并给人以审美上的愉悦,于是我以为这就是健壮的代码.

但我看过很多的代码,特别是一些产品级的代码,以我的审美而言,长得大都很丑,但它们都很有效很健壮.

后来我知道了为什么,优雅清晰的代码对健壮性的贡献可能还不到30%的,而真正健壮的代码是那些在市场上跑上半年一年的,经受各种磨难摧残的代码,这些代码为了生存,被打上了各式各样的丑陋的补丁,以对付现实环境中那些邪恶的攻击,丑陋的硬件缺陷,木马横行的客户机.

这好比,一个人在学院里学得再好的为人修养之道,也不如在那些在各种逆境中经历人生磨难的人在遇到危难时来得更为沉着,因为他们不知道现实世界的危险. 在外部危险的环境下我们要写懂得顽强生存的代码,而不是优雅的代码.

posted on 2007-04-29 19:43 linghuye 阅读(4507) 评论(12)  编辑 收藏 引用 所属分类: 3D图形学研究编程札记

评论

# re: 优雅的代码  回复  更多评论   

说的好!
2007-05-02 14:57 | torquewow.com

# re: 优雅的代码  回复  更多评论   

不优雅的代码,阅读起来困难,去看看torque game engine的源码。会让你作呕。这个所谓的商业引擎。。。
2007-06-09 11:34 | 李锦俊

# re: 优雅的代码  回复  更多评论   

不同意平民的这个意见……FREEBSD的代码比WIN2K泄露出来的代码幽雅100倍,FREEBSD同样比WIN2K强壮100倍
2007-06-26 21:53 | whb9633

# re: 优雅的代码  回复  更多评论   

我一样厌恶微软,但100倍这种说法有失客观.
我相信M$的程序为了产品的易用性,稳定性为牺牲优雅的代码,不断加入难看的补丁,我们开发游戏的也一样。
我对开源操作系统和M$系统的看法是:不具可比性.
开源系统的应用者大部分是专业人士,他们知道什么可以做什么不能作,M$的应用者是傻瓜用户,傻瓜用户无论作出多低级的事,系统也要健壮的生存.
开源系统之所以表现的健壮我以为是因为,使用者的层次不同,使用的人数不同.
2007-06-28 22:33 | linghuye

# re: 优雅的代码[未登录]  回复  更多评论   

看过《代码大全》再来谈论吧!
2007-11-18 09:50 | ABC

# re: 优雅的代码  回复  更多评论   

心有戚戚啊
2008-01-12 22:52 | raven

# re: 优雅的代码  回复  更多评论   

编了20多年程序.我写的代码在同事中是比较幽雅的,也是比较健壮的.在没有时间压力的情况下,代码基本上符合教科书的要求.

但是,我的代码中也有不少丑陋的补丁,多是因为发布版本太急,每天编程十几个小时,或者是工作太急,一天内要改十几个bug造成的.

一大学同学水平和我相当,在M$上班,是个leader.据我估计M$程序平均水平比我稍低.

在进度压力下, M$的代码质量不可能很高,他的健壮性是通过强大的测试获得的.

总之,对代码幽雅的追求,应该是无止境的.

丑陋,补丁,不是光荣,是妥协. :)
2008-01-20 01:44 | name

# re: 优雅的代码  回复  更多评论   

优雅的代码?何为优雅?
为什么都喜欢用优雅、诡异来形容代码?
用严谨、清晰不是更好吗?
搞得很专业似的。。。。
^_^
2008-02-01 17:59 | 瞌睡虫

# re: 优雅的代码  回复  更多评论   

同感,但时间允许的情况下,要不断重构代码,毕竟干程序员的是想干到艺术的境界,而非匠人
2009-05-14 17:31 | dd

# re: 优雅的代码[未登录]  回复  更多评论   

健壮的不需要优雅。只需要能适应了多变的外部环境,八面玲珑。
优雅的不一定健壮。两个并不是水火。


丑陋,补丁,不是光荣,是妥协. :), 同意。非常同意。但我是现实主义者,如果二选一,我选还是选健壮。

大多数程序的出生环境都不见得很理想,甚至是可以称为恶劣:有限的时间,有限的投资,未确定的需求。只能用有限的资源先分娩,并活下来,才有可能进化为更优雅一点。

end


2009-06-23 18:42 | ming

# re: 优雅的代码  回复  更多评论   

你的随笔写的很真实
2010-07-28 11:17 | wl

# re: 优雅的代码  回复  更多评论   

@whb9633
不同意whb9633的这个意见……
看微软怎么都不爽的人又来了,freebsd好吗?好用吗?是你个人喜好吧?这里谈对技术认识的,不是来泄愤的。不要完全客观,只要捎捎的来点客观的好吗,别这么菜货行吗?
只有注册用户登录后才能发表评论。