您的位置:知识库 » 软件设计

代码之丑(零)

作者: dreamhead  发布时间: 2011-01-03 21:35  阅读: 1682 次  推荐: 1   原文链接   [收藏]  

  看到下面这段代码,你会做何感想?

if(db.Next()) {
return true;
}
else {
return false;
}

  有的人会想,怎么写得这么笨啊!但是,请放心,绝对会有人这么想,挺好的,实现功能了。这并非我臆造出的代码,而是从一个真实的codebase上找到。

  成为一个咨询师之后,我有机会在不同的项目中穿梭。同客户合作的过程中,我经常干的一件事是:code diff。也就是用源码管理工具的diff功能把当天全部修改拿出来,从编码的角度来分析代码写得怎么样。

  因为这个工作,我看到了许多不同人编写的代码,我的编码底线不断受到挑战。许多东西,我以为是常识,但实际上不为许多人所知,比如上面那段代码。

  我把在看到的问题总结成一个session,与客户的程序员分享。结束之后,有人建议,为什么不能把这些问题写下来,与更多人分享。于是,我产生了写下《代码之丑》念头,以此向《代码之美》致敬。

  最后要说的是,开始那段代码可以写成这样:

return db.Next();
1
0
标签:重构

软件设计热门文章

    软件设计最新文章

      最新新闻

        热门新闻