FreeBSD 6.0架设管理与应用-第十章 软件安装
2010-08-16 15:57
295 查看
今天有同事看了我写的代码,问为何逗号要放在前面,以下列两段代码为列:
代码段一
void function(int a
, char b
, short c
, long d
, struct* e)
{
}
代码段二:
int x = a
+ b
+ c
+ d;
对一于单行代码过长时,采取换行,这个没有什么可争议的,主要焦点在新的一行从哪开始,通常有两派,一派就是如上述两段代码所示,另一派则采用如下规范:
void function(int a,
char b,
short c,
long d,
struct* e)
{
}
在刚出道的前几年,我采用的是逗号置尾风格,但后来,我一直采用逗号置前的风格,因为我认为这样做更好,为什么会更好了?先提一个问题:换行的目的是什么?我想答案应当是:让代码更清晰,可读性更好,也让书写更不容易犯错误。总结起来有以下几条好处:
1.代码更清晰(这条不是独特的,因为逗号置尾也一样具备)
2.逗号有类似于1、2、3的标识作用,如同在写WORD或PPT文档时列出一、二、三、四
3.有注释的作用,可以将逗号看成注释符,可以更清楚的标明这是一行的开始
4.可增加代码的观赏性,统一以逗号打头,显得更有美感
有些时候,简单换行仍可能导致单行过长,这个时候可改变对齐点,我一般如下做:
void function(
int a
, char b,
, short c,
, long d,
, struct* e)
{
}
这样基本可以解决大多数参数列表过长问题,对于表达式过长的问题,采取同样的解决方式。
我们需要规范,但不应当是死板的规范,最好可让它展现出一点活力,比如对于二目操作符的空格问题,就应当有柔性,而不是不分场合统一前后空一格,如:
int x = (a + b) / M;
虽然很规范,但从美观上来说,不协调,如同一个人身材虽棒,但却如水桶,也许下面的做法更好:
int x = (a+b) / M;
让a和b更紧凑点,整体上看起来就协调多了。还有一些类似的,比如不要头重脚轻,象:
if (false)
{
int m = x[i];
int d = foo(m);
woo(d);
}
else
{
++i;
}
这个就长了个大脑袋,很多小孩子就是这样,头大大的,颠倒过来成人:
if (true)
{
++i;
}
else
{
int m = x[i];
int d = foo(m);
woo(d);
}
现在就符合我们日常的审美了。细节不一定决定成败,但一定影响品质,电路板就是一个好的见证。开源项目mooon在遵循规范的同时,也一直在努力提升代码的美感。本文出自 “飞月” 博客,请务必保留此出处http://mooon.blog.51cto.com/1246491/698453
代码段一
void function(int a
, char b
, short c
, long d
, struct* e)
{
}
代码段二:
int x = a
+ b
+ c
+ d;
对一于单行代码过长时,采取换行,这个没有什么可争议的,主要焦点在新的一行从哪开始,通常有两派,一派就是如上述两段代码所示,另一派则采用如下规范:
void function(int a,
char b,
short c,
long d,
struct* e)
{
}
在刚出道的前几年,我采用的是逗号置尾风格,但后来,我一直采用逗号置前的风格,因为我认为这样做更好,为什么会更好了?先提一个问题:换行的目的是什么?我想答案应当是:让代码更清晰,可读性更好,也让书写更不容易犯错误。总结起来有以下几条好处:
1.代码更清晰(这条不是独特的,因为逗号置尾也一样具备)
2.逗号有类似于1、2、3的标识作用,如同在写WORD或PPT文档时列出一、二、三、四
3.有注释的作用,可以将逗号看成注释符,可以更清楚的标明这是一行的开始
4.可增加代码的观赏性,统一以逗号打头,显得更有美感
有些时候,简单换行仍可能导致单行过长,这个时候可改变对齐点,我一般如下做:
void function(
int a
, char b,
, short c,
, long d,
, struct* e)
{
}
这样基本可以解决大多数参数列表过长问题,对于表达式过长的问题,采取同样的解决方式。
我们需要规范,但不应当是死板的规范,最好可让它展现出一点活力,比如对于二目操作符的空格问题,就应当有柔性,而不是不分场合统一前后空一格,如:
int x = (a + b) / M;
虽然很规范,但从美观上来说,不协调,如同一个人身材虽棒,但却如水桶,也许下面的做法更好:
int x = (a+b) / M;
让a和b更紧凑点,整体上看起来就协调多了。还有一些类似的,比如不要头重脚轻,象:
if (false)
{
int m = x[i];
int d = foo(m);
woo(d);
}
else
{
++i;
}
这个就长了个大脑袋,很多小孩子就是这样,头大大的,颠倒过来成人:
if (true)
{
++i;
}
else
{
int m = x[i];
int d = foo(m);
woo(d);
}
现在就符合我们日常的审美了。细节不一定决定成败,但一定影响品质,电路板就是一个好的见证。开源项目mooon在遵循规范的同时,也一直在努力提升代码的美感。本文出自 “飞月” 博客,请务必保留此出处http://mooon.blog.51cto.com/1246491/698453
相关文章推荐
- FreeBSD 6.0架设管理与应用-附录B 制作FreeBSD安装光盘
- FreeBSD 6.0架设管理与应用-第三章 UNIX 系统入门
- FreeBSD 6.0架设管理与应用-第四章 使用者管理
- FreeBSD 6.0架设管理与应用-第五章 网络设定
- FreeBSD 6.0架设管理与应用-第二十章 SAMBA网络邻居
- FreeBSD 6.0架设管理与应用-第六章 档案系统管理
- FreeBSD 6.0架设管理与应用-第二十一章 NFS
- FreeBSD 6.0架设管理与应用-第七章 系统安全
- FreeBSD 6.0架设管理与应用-第二十二章 DNS 服务器
- FreeBSD 6.0架设管理与应用-第八章 编译核心
- FreeBSD 6.0架设管理与应用-第二十四章 Shell Script
- FreeBSD 6.0架设管理与应用-第九章 系统调校
- FreeBSD 6.0架设管理与应用-第十一章X Window 的使用
- FreeBSD 6.0架设管理与应用-第十二章 NAT 及防火墙
- FreeBSD 6.0架设管理与应用-附录 A /etc目录下的档案介绍
- FreeBSD 6.0架设管理与应用-第十三章 网页服务器
- FreeBSD 6.0架设管理与应用 [可下载电子文档]
- FreeBSD 6.0架设管理与应用-第十四章 网页服务器进阶应用
- FreeBSD 6.0架设管理与应用-第十五章 FTP 服务器
- BOOK]FreeBSD 6.0架设管理与应用