+ -
当前位置:首页 → 问答吧 → 程序的版式

程序的版式

时间:2008-07-09

来源:互联网

    版式虽然不会影响程序的功能,但会影响可读性。程序的版式追求清晰、美观,是程序风格的重要构成因素。

    可以把程序的版式比喻为“书法”。好的“书法”可让人对程序一目了然,看得兴致勃勃。差的程序“书法”如螃蟹爬行,让人看得索然无味,更令维护者烦恼有加。请程序员们学习程序的“书法”,弥补大学计算机教育的漏洞,实在很有必要。

1.2 空行

空行起着分隔程序段落的作用。空行得体(不过多也不过少)将使程序的布局更加清晰。空行不会浪费内存,虽然打印含有空行的程序是会多消耗一些纸张,但是值得。所以不要舍不得用空行。

1-1
在每个类声明之后、每个函数定义结束之后都要加空行。

1.3 代码行

1-2-1
一行代码只做一件事情,如只定义一个变量,或只写一条语句。这样的代码容易阅读,并且方便于写注释。

1-2-2
if 、 for 、 while 、 do 等语句自占一行,执行语句不得紧跟其后。不论执行语句有多少都要加 {} 。这样可以防止书写失误。

示例 1-2 ( a )为风格良好的代码行,示例 1-2 ( b )为风格不良的代码行。

x = a + b;

y = c + d;

z = e + f;
//良好的编程习惯

X = a + b; y = c + d; z = e + f; // 不良的风格

if (width < height)

{

dosomething();

}

//良好的编程习惯

if (width < height) dosomething();
// 不良的风格

for (initialization; condition; update)

{

dosomething();

}

// 空行

other();

//良好的编程习惯

for (initialization; condition; update)

dosomething();

other();

// 不良的风格

1.3
代码行内的空格

1-3-1
关键字之后要留空格。象 if 、 for 、 while 等关键字之后应留一个空格再跟左括号‘(',以突出关键字。

1-3-2 函数名之后不要留空格,紧跟左括号‘(',以与关键字区别。

1-3-3
‘('向后紧跟,‘)'、‘,'、‘ ; '向前紧跟,紧跟处不留空格。

1-3-4
‘,'之后要留空格,如 Function(x, y, z) 。如果‘ ; '不是一行的结束符号,其后要留空格,如 for (initialization; condition; update) 。

1-3-5
赋值操作符、比较操作符、算术操作符、逻辑操作符、位域操作符,如“ = ”、“ += ” “ >= ”、“ <= ”、“ + ”、“ * ”、“ % ”、“ && ”、“ || ”、“ << ” , “ ^ ”等二元操作符的前后应当加空格。

1-3-6
一元操作符如“ ! ”、“ ~ ”、“ ++ ”、“ -- ”、“ & ”(地址运算符)等前后不加空格。

1-3-7
象“ []”、“ .”、“->” 这类操作符前后不加空格。

建议:对于表达式比较长的 for 语句和 if 语句,为了紧凑起见可以适当地去掉一些空格,如 for (i=0; i<10; i++)和 if ((a<=b) && (c<=d))

void Func1(int x, int y, int z); // 良好的风格

void Func1 (int x,int y,int z); // 不良的风格

if (year >= 2000) // 良好的风格

if(year>=2000) // 不良的风格

if ((a>=b) && (c<=d)) // 良好的风格

if(a>=b&&c<=d) // 不良的风格

for (i=0; i<10; i++) // 良好的风格

for(i=0;i<10;i++) // 不良的风格

for (i = 0; I < 10; i ++) // 过多的空格

x = a < b ? a : b; // 良好的风格

x=a<b?a:b; // 不好的风格

int *x = &y; // 良好的风格

int * x = & y; // 不良的风格

array[5] = 0; // 不要写成 array [ 5 ] = 0;

a.Function(); // 不要写成 a . Function();

b->Function(); // 不要写成 b -> Function();

2.4
对齐

2-4-1
程序的分界符‘ { '和‘ } '应独占一行并且位于同一列,同时与引用它们的语句左对齐。

2-4-1
{ } 之内的代码块在‘ { '右边数格处左对齐。

示例 1-4 ( a )为风格良好的对齐,示例 1-4 ( b )为风格不良的对齐。

Function(int x)

{

… // program code

}

//风格良好的对齐

Function(int x){

… // program code

}

//风格不良的对齐(不过习惯这样写的人还是很多)

if (condition)

{

… // program code

}

else

{

… // program code

}

//风格良好的对齐

if (condition){

… // program code

}

else {

… // program code

}

//风格不良的对齐

for (initialization; condition; update)

{

… // program code

}

//风格良好的对齐

for (initialization; condition; update){

… // program code

}

//风格不良的对齐


      是看着一个C++的版式整理的,感觉和自己现在的写法差不多,或有些要改一些,所以整理好放到我的博客:http://www.codedesign.cn! 感觉还行不错,所以发上来让大家也看看.有什么需要添加或是改进的,望大家能提出

作者: ymaozi   发布时间: 2008-07-09