程序的版式

一个清晰,美观的程序板式是一个程序员应具备的最基本的素质,好的板式可以让人一目了然,

兴致勃勃,所以,学习一个好的程序板式很有必要!

1.空行

空行起着分隔程序段落的作用。空行得体,将使程序的布局更加清晰。空行不会浪费内存,所以不要舍不得用空行。

规则1.1:在每个类申明之后,每个函数定义结束之后都要加空行。

例子:

//空行
int get_max()
{

}
//空行
void Function()
{

}
//空行
void swap()
{

}

规则1.2:在一个函数体内,逻辑上密切相关的语句之间不加空行 ,其他地方应加空行分隔。

例子;

while (condition)
{
	statement1;
	//空行
	if (condition)
	{
		statement2;
	}
	else
	{
		statement3;
	}
	//空行
	statement4;
}

2.代码行

规则2.1:一行代码只做一件事,只定义一个变量,或只写一条语句,这样的代码更容易阅读

例子:

//
int a = 0;
int b = 0;
int c = 0;
//
a = b + c;
c = a + b;

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

例子:

if (a > b)
{
	dosomething();
}
for (a = 0; a < b; a++)
{
	dosomething();
}

建议:尽量能在定义变量的同时初始化该变量。

例如:

int a = 0;//定义并初始化a
int b = 0;
int c = 0;

3. 代码行内的空格

规则3.1:关键字之后要留空格。例如const,virtual,inline,case等关键字后至少要留一个空格,否则无法辨析关键字。

规则3.2:函数名之后不要留空格,紧跟‘(’,以与关键字区别。

void Func1(int x, int y, int z)    //风格良好的代码
void Func1 (intx, inty, intz)      //不良的风格

规则3.3:‘(’向后紧跟,‘)’,    ‘,’    ‘;’  向前紧跟,紧跟处不留空格。

规则3.4:‘,’之后要留空格,如果‘;’不是一行结束的符号,其后也要留空格。

例子:

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

规则3.5:赋值操作符,比较操作符,算术操作符,逻辑操作符,位域操作符,等二元操作符的前后应该加空格。

例子:

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

规则3.6:一元操作符前后不用加空格

例子:

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

规则3.7:

像‘[]’,‘.’,‘->’,这类操作符前后不加空格。

建议:对于表达式比较长的for语句和if语句,为了紧凑起见可以适当去掉一些空格。

4.对齐

规则4.1:程序的分界‘{’和‘}’应独占一行并且位于同一列,左对齐

例子:

void Function()
{
	//风格良好
}
void Function() {
	//风格不良
}

规则4.2:{}之内的代码在‘{’右边数格处左对齐。

5.长行拆分

规则5.1:代码行最大长度宜控制在70至80个字符之内。代码行不要过长,否则眼睛看不过来,也不便于打印。

规则5.2:长表达式要在低优先级操作符处拆分成新行,操作符放在新行之首。拆分处的新行要进行适当的缩进,使排版整齐,语句可读。

例子:

if ((very_long_variable1 >= very_long_variable12)
	&& (very_long_variable3 <= very_long_variable14)
	&& (very_long_variable5 <= very_long_variable16))
{
	dosimething();
}

 6.修饰符的位置

修饰符 * 和 & 应该靠近数据类型还是变量名,是一个有争议的话题。

若将修饰符 * 靠近数据类型,例如:int* x;从语义上讲此写法比较直观,x是int类型的指针。

上述写法的弊端是容易引起误解,例如:int* x,y;此处y容易被误解位指针变量。

规则6.1:应当将修饰符 * 和  & 紧靠变量名

7.注释

c语言注释符为“/*...*/”。c++语言中,程序块的注释常采用“/*...*/”,行注释一般采用“//...”。注释常用于:

(1)版本版权申明;

(2)函数接口说明; 

(3)重要的代码行或段落提示

         虽然注释有助于理解代码,但注意不可过多使用。

规则7.1:注释是对代码的提示,而不是文档。程序中的注释不可喧宾夺主,注释太多会让人眼花缭乱。花样要少。

规则7.2:如果代码本来就是清楚地,则不必加注释,否则多此一举。

规则7.3:边写代码边注释,修改代码的同时修改相应的注释,以保证注释与代码的一致性。

规则7.4:注释应当准确,易懂,防止注释有二义性。

规则7.5:计量避免注释时适用缩写,特别是不常用的缩写。

规则7.6:注释的位置应与被描述的代码相邻,不可放在代码下方。

规则7.7:当代吗比较长,特别是用多重嵌套,应到在一些段落的结束处加注释,便于阅读。

8.类的板式

c++之后补充。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值