可能大家都没有想过这个问题。可能还有人会问,程序怎么还有书法的?不错,程序是有书法的。那就是---程序的版式。版式虽然不影响程序的功能,但是会大大影响程序的可读性和可维护性,程序的版式追求的是清晰、美观,这也是程序版式组成的重要因素。
相信大家都写过字,好的书法可以让文章赏心悦目,如行云流水;差的书法则如蛇蝎爬行,索然无味。许多科班出身的程序员对此也是一知半解,请大家一定要好好学习,来弥补在大学课堂上的不足,实在是非常之有必要。
1 空行
空行起着分隔程序段落的作用。空行得体(不过多也不过少)将使程序的布局更加清晰。空行不会浪费内存,虽然打印含有空行的程序是会多消耗一些纸张,但是值得。所以不要舍不得用空行。
l 【规则1-1】在每个类声明之后、每个函数定义结束之后都要加空行。参见示例1(a)
l 【规则1-2】在一个函数体内,逻揖上密切相关的语句之间不加空行,其它地方应加空行分隔。参见示例1(b )
// 空行 void Fun(…) { … } // 空行 void Fun(…) { … } // 空行 void Fun(…) { … }
|
// 空行 while (condition) { statements1; // 空行 if (condition) { statements2; } else { statements3; } // 空行 statements4; } |
示例1-1(a) 函数之间的空行 示例1-1(b) 函数内部的空行
2 代码行
l 【规则2-1】一行代码只做一件事情,如只定义一个变量,或只写一条语句。这样的代码容易阅读,并且方便于写注释。
l 【规则2-2】if、for、while、do等语句自占一行,执行语句不得紧跟其后。不论执行语句有多少都要加{}。这样可以防止书写失误。
示例2(a)为风格良好的代码行,示例2(b)为风格不良的代码行。
int width; // 宽度 int height; // 高度 int depth; // 深度 |
int width, height, depth; // 宽度高度深度
|
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) |