Zeal Blog - 泽欧里
梦想 就像鸡蛋
要么孵化 要么臭掉
WWW Zeal Blog

程序员何苦为难程序员

zeal 2005-12-05 17:30 于 开发/理论 , 1162 字 , Via |  + 0 - 0   English
Made In Zeal 转载请保留原始链接:http://www.zeali.net/entry/260
标签 ( Tags ):
程序员是不是天生憎恨同行们?如果不是的话,为什么会有那么多较劲的代码(特别是API、库函数中)产生出来,让使用这些代码的其他程序员们抓狂?

先举几个例子。

  • ...某段代码提示说“文件不存在”,却不告诉你哪个文件不存在,或者它是在哪里寻找这个文件失败。
  • ...某段代码对你的调用请求做了一大堆的条件判断,然后发现某些条件不符合要求,于是调用失败。但压根不告诉你失败的原因是什么(甚至根本就不让你知道调用已经失败)。当然代码本身知道确切的错误点所在;它只是认为你没必要知道这些内部信息而已。
  • ...某段代码以一种毫无意义的形式来进行逻辑错误的检查/汇报,这些错误信息让你的代码调试无从做起,或者干脆把你带入歧途。记得曾经碰到过一个外包项目提供的代码,运行了一段时间之后突然页面上显示不出东西,错误日志里面的记录只有一句话:数据库访问异常!一开始以为是数据库的物理访问有问题,或者数据库连接过多之类;检查了半天找不到原因。最后只好让对方再去看详细的源代码一行行调试,结果发现是数据库表出现了一条非法记录,导致了整个逻辑处理异常退出。
  • ...某个API抽象到你反复研究也搞不清楚它到底是干什么用的,或者你已经知道是用来干什么的了,可偏偏看不懂怎么去使用它.
  • ...某个系统为你节省了几十分钟重复编码的时间,却要求你花上一周的时间来搞清楚如何正确的设置它的配置文件、元数据等辅助信息。
  • ...某个API所作的事情就是化简为繁,让本该一目了然的逻辑复杂化;同时在使用这个API的时候,你还得重复这些操作(或许在泛滥的API中成长的程序员还会将泛滥发扬光大)。
  • ...某段代码为了解决系统复杂性所衍生出来的问题而在原本就很复杂的系统上再包上一层逻辑。经过几次的包装之后,你或许永远也想不到这些代码的初衷是什么。
  • ...某些API看上去就像是八竿子打不到一起的远房亲戚,各自完成一些特殊的功能,却没有任何有机的联系。实际应用中,你根本无法知道他们互相之间会产生什么影响。


类似的现象还有很多。关键在于,你作为开发人员在编写代码的时候是抱着怎样的心态?是“按照我的理解能力来看”、“我这样做是最佳方案”的想法,还是说“在别人的程序中助一臂之力”、“让后来者收益”?要知道当你作为代码提供者在设计开发的时候,为了一时省力或者考虑不周而少花一天/一周在自己的代码上,以后使用你的代码的其他程序员们将不得不花上几倍几百倍的时间来弥补你的缺失。

因此,对于API、库函数或其他各种代码来说,最好就是不要变成“程序员憎恨程序员”的潜台词 -- 你在制造“憎恨”的同时,难保哪天不被别人的“憎恨”代码给扫到。

This Entry was Last Modified on 2007-05-28 10:59
引用本文(TrackBack): 此功能无限期关闭ing ... 如有引用请在文中标明出处并提供超链接  
没有评论.
对于这篇日志您有什么想法?我想听听您的高见。
如果您不是没有思想的机器Spammer,请告诉我 4 + 8 =
然后任选以下两种方式之一告诉我您的身份:
1. 使用您的 OpenID
2. 使用传统留言格式
(必填) 名字
如何称呼您?
(选填) URL
在此填写您的 Blog / Homepage 的地址,我将非常乐于访问
(选填) Email
Email地址将在经过防SPAM处理后显示在页面。如果您不希望公开自己的Email,请略过此栏
并写下您的见解:
(由于需要进行SPAM过滤,如果评论提交速度慢请耐心等待)
记住我?

  如何进行评论                   当有新回复时给我发送邮件通知
除了 <b> 和 <i> 之外,其他的HTML标签都将从您的评论中去除. URL 或 Email 地址会被自动加上链接.
当您点击发表或者预览之后,系统会自动保存您此次评论的内容,以便当网络原因发表失败时直接按Ctrl-V重新粘贴上次评论内容。
注意:快捷键及自动拷贝功能仅对IE浏览器有效。
发贴统计

Tot 622/1368

日志存档
2008年
2007年
2006年
本 Blog 原创内容
遵循以下授权:

Creative Commons
(创作共用) CC

署名-非商业性
-相同方式分享
Zeal Blog 基于
Powered byPivot - 1.24.1: 'Arcee'
Pivot1.24.1
开发
Launched @
2005-04-27
 里,居也。——《说文》    里,邑也。——《尔雅》。李注:“居之邑也。”沪ICP备05024379号 Back To Home All Links Loading