优美的代码像诗一样!

原创 2004年09月07日 00:50:00

网上曾有中日程序员代码风格的讨论,其实两种风格我都不喜欢。

让我们看看美国程序员是怎么做的吧。

以下摘自《代码阅读方法与实践》第2.9节P32-36。

第一段代码:

op = &( !x ? ( !y ? upleft : ( y == bottom ? lowleft : left)) :
( x == last ? ( !y ? upright : ( y == bottom ? lowright : right )) :
( !y ? upper : ( y == bottom ? lower : normal))))[ w -> orientation];

噢!但愿我没有打错。这段代码我足足看了十分钟也没明白究竟。


一般来说,可以改成下面这样。

struct options *locations[3][3] = {
  {upleft,     upper,     upright};
  {left,       normal,    right},
  (lowleft,    lower,     lowringt},
};

int xlocation, ylocation;

if (x == 0)
   xlocation = 0;
else if (x == last)
   xlocation = 2;
else
   xlocation =1;

if (y == 0)
   ylocation = 0;
else if (y == bottom)
   ylocation = 2;
else
   ylocation =1;

op = &(locations[ylocation][xlocation])[w->orientotion};

不过一个叫Guy Steele的提出了以下代码。

op =
   &(        ! y ?(x ? upleft  : x != last ?   uper : upright):
    y != bottom ? (x ? left    : x != last ? normal : right):
                  (x ? lowleft : x != last ? lower  : lowright):
    )[w -> orientation];

谁说代码的可读性和效率不能兼顾的。

如何写出优美的Java代码

一、不要使用魔法数字,尽量定义枚举、常量、宏:  我常常见到表示各种状态的数字,0,1,2....,我真的不知道这表示什么含义,如果  你在不在文档中说明的话,这个东东过几天连你自己都不知道个一二...
  • a137268431
  • a137268431
  • 2015年01月30日 17:52
  • 1396

opencv实现图像优化

简介   本篇是使用opencv实现,对图像亮度、对比度、锐化、白平衡和饱和度的调整。 具体实现 总体框架   1、首先是打开需要调整的图片到src中,接着创建了一张新图片src2,...
  • u011630458
  • u011630458
  • 2015年05月29日 08:35
  • 2458

像诗人一样睿智,像天才一样疯狂

我不知道大家如何定义程序员这个工作,在我看来,在某种意义上,程序员和艺术家们具有相同之处,我们都是创作者,和诗人、画家、作家等等这些职业相近,我们都在试图创作出优秀的作品,我们借助编程语言来重构我们对...
  • qinyuanpei
  • qinyuanpei
  • 2016年10月19日 00:06
  • 1414

一段优美的病毒代码[Pzjay原创]

  • 2010年02月18日 22:48
  • 1KB
  • 下载

C程序优美的代码 值得大家学习借鉴

  • 2010年07月22日 21:00
  • 55KB
  • 下载

如何写出高效优美的C语言代码

  • 2011年02月27日 16:40
  • 55KB
  • 下载

欣赏优美的代码

  • 2012年03月31日 16:12
  • 63KB
  • 下载

如何写出优美的 JAVA 代码(转)

一、不要使用魔法数字,尽量定义枚举、常量、宏:  我常常见到表示各种状态的数字,0,1,2....,我真的不知道这表示什么含义,如果  你在不在文档中说明的话,这个东东过几天连你自己都不知道个一二...
  • Eric_xiaoQ
  • Eric_xiaoQ
  • 2017年03月04日 09:29
  • 193

如何编写出优美的 JavaScript 代码

原文作者:http://www.zhihu.com/question/20635785 原始出处:http://www.zhihu.com/question/20635785 如何编写出优美的...
  • leonzhouwei
  • leonzhouwei
  • 2012年12月07日 12:41
  • 558

如何编写出优美的JavaScript代码?

在多年以前,人们注重功能是如何实现的。现如今,随着Web及互联网技术的不断发展,功能仅成了最基本的要求,如何写出漂亮,整洁的代码已成为一个大牛级程序员不可或缺的条件。 一位前端开发工程师便在知乎上提...
  • wnety
  • wnety
  • 2012年12月07日 11:30
  • 399
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:优美的代码像诗一样!
举报原因:
原因补充:

(最多只允许输入30个字)