安全中国首页 > 编程中心 > VC/C++编程
 
安全中国网友投稿专用上传FTP空间:
Ftp服务器:www.anqn.com
Ftp端口:21
用户名:anqn
密 码:anqn.com
 

高质量C++/C编程指南 -- 第2章 程序的版式

更新时间:2005-8-31 1:49:00
责任编辑:池天
热 点:
第2章 程序的版式
       版式虽然不会影响程序的功能,但会影响可读性。程序的版式追求清晰、美观,是程序风格的重要构成因素。

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

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

 

l         【规则2-1-1】在每个类声明之后、每个函数定义结束之后都要加空行。参见示例2-1(a)

l         【规则2-1-2】在一个函数体内,逻揖上密切相关的语句之间不加空行,其它地方应加空行分隔。参见示例2-1(b )

 

// 空行

void Function1(…)

{

  …

}

// 空行

void Function2(…)

{

  …

}

// 空行

void Function3(…)

{

  …

}

 
 // 空行

while (condition)

{

  statement1;

  // 空行

  if (condition) 

  {

     statement2;

  }

  else

  {

     statement3;

  }

// 空行

  statement4;

}  
 

示例2-1(a) 函数之间的空行                   示例2-1(b) 函数内部的空行

 

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

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

 

示例2-2(a)为风格良好的代码行,示例2-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)

{

dosomething();

}

// 空行

other();

 
 for (initialization; condition; update)

     dosomething();

other(); 


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

 

²        【建议2-2-1】尽可能在定义变量的同时初始化该变量(就近原则)

如果变量的引用处和其定义处相隔比较远,变量的初始化很容易被忘记。如果引用了未被初始化的变量,可能会导致程序错误。本建议可以减少隐患。例如

int width = 10;     // 定义并初绐化width 

int height = 10; // 定义并初绐化height 

int depth = 10;     // 定义并初绐化depth 

 

2.3 代码行内的空格
l         【规则2-3-1】关键字之后要留空格。象const、virtual、inline、case 等关键字之后至少要留一个空格,否则无法辨析关键字。象if、for、while等关键字之后应留一个空格再跟左括号‘(’,以突出关键字。

l         【规则2-3-2】函数名之后不要留空格,紧跟左括号‘(’,以与关键字区别。

l         【规则2-3-3】‘(’向后紧跟,‘)’、‘,’、‘;’向前紧跟,紧跟处不留空格。

1 2 3 下一页

 
学习软件编程开发技术,推荐加入以下软件编程培训班:
易语言软件编程培训班(简单易学)  Delphi软件编程培训班  VC++软件编程培训班
VB软件编程培训班  JAVA高端编程就业研发班

学习网站开发制作技术,推荐加入以下网站开发培训班:
ASP.net网站开发项目实战班  ASP语言网站建设培训班

学习网络安全入侵防护技术,推荐加入以下技术培训班:
大型网络安全入侵防护班  网站脚本程序全方位安全检测班

学习网络管理、网吧运营维护技术(网管),推荐加入以下培训班:
大型网吧技术管理人才特训班  Linux网络嵌入架构工程师培训班

学习专项特殊技术,推荐加入以下专项技术培训班:
软件与游戏外挂脱壳破解班(逆向工程)  赚钱王道-网赚技能培训班  Flash动画设计师就业特训班

 
相关编程
一日一文章
 
一日一软件
一日一动画