编程风格与注意事项(一)

【规则1-2-1】为了防止头文件被重复引用,应当使用ifndef/define/endif结构产生与处理块。

【规则1-2-2】使用#include<*.h>格式来应用标准库的头文件;

             编译器将从标准库目录开始搜索。

【规则1-2-3】使用#include“*.h”格式来引用非标准库的头文件;

             编译器将从用户的工作目录开始搜索。

【建议1-2-1】头文件中只存放“声明”而不存放“定义”

                       建议将成员函数的定义与声明分开,不论该函数体有多么小。

【建议1-2-2】尽量不要在头文件中出现全局变量,如:extern int value

头文件的作用:

1、 通过头文件来调用库功能;     

2、 头文件能加强类型安全检查,能减轻程序员调试、改错的负担。

空行的作用:空行起着分割程序段落的作用,空行得体将是程序的布局更加清晰。

【规则2-1-1】在每个类声明之后、每个函数定义结束之后都应该加空行。

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

【规则2-2-1】一行代码只做一件事,如只定义一个变量,或者只写一条语句。

【规则2-2-2】if、for、while、do等语句自占一行,执行语句不得紧跟其后。

不论执行语句有多少都要加{},以防止书写失误。

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

【规则2-3-1】关键字之后要留空格。

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

【规则2-3-3】括号成对存在,语句、语法分隔符向前紧跟,紧跟处不留空格。

【规则2-3-4】‘,’之后要留空格,如Function(x, y, z)。如果’;’不是一行的结束符,其后要留空格如:for(a=0; a>10; a++);

【规则2-3-5】运算符(赋值操作符,比较操作符,算术操作符,裸机操作符、位域操作符)等二元操作符的前后都应该加空格。

【规则2-3-6】一元操作符的前后不加空格,如a++,!a;

【规则2-3-7】象”[]”、”.”、”->”这类操作符的前后不加空格。

【规则2-4-1】程序的分界符应独占一行,并且位于同一列,同时与应用他们的语句左对齐。

【规则2-5-1】代码航最大长度以控制在70至80个字符以内。

【规则2-5-2】长表达式要在低优先级处拆分成新行,操作符放在新行之首(一边突出操作符)。拆分出的新行要进行适当的缩进,使排版整齐,语句可读:

If((very_longer_varialble1 >= very_longer_varialble2)

&&( very_longer_varialble3 <= very_longer_varialble4)

&&( very_longer_varialble5 <= very_longer_varialble6))

{

Dosomething();

}

【规则2-6-1】修饰符*和&应当紧靠变量名;如 char *name;

注释:C语言种的注释符为“/*……*/”和“//”,C++语言中的注释相似:

1、 程序块注释采用“/*……*/”的模式,行注释一般采用“//”;

2、 注释通常适用于:

a、 版本、版权说明;

b、 函数接口说明;

c、 重要的代码行或者段落提示;

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

【规则2-7-1】注释是对代码的“提示”,而不是文档。

【规则2-7-2】如果代码本来就是清楚的,则不必加注释;

【规则2-7-3】编写代码边注释,修改代码的同时修改相应的注释,以保证注释与代码的一致性,没用的注释需要及时删除。

【规则2-7-4】注释应当准确、易懂,防止注释有二义性,错误的注释不但无益反而有害。

【规则2-7-5】尽量不要在注释中使用缩写,特别是不常用的缩写;

【规则2-7-6】注释的位置应与被描述的代码相邻,可以放在代码的上方或者右方,但不可放在下方。

【规则2-7-7】带代码比较长,特别是有多重嵌套时。应带在一些段落的结束处加注释,便于阅读。

命名规则篇

“匈牙利”命名法:在变量和函数名种加入前缀以增进人们对程序的理解。

【规则3-1-1】标识符应当直观可以拼读,可望文知义,不必进行解码。

标识符最好采用英文单词或者组合,便于记忆和阅读,切记使用汉语拼音来命名。

【规则3-1-2】标识符的长度要适中,并且不能超过规定

【规则3-1-3】命名规则尽量与所采用的操纵系统与开发工具的风格保持一致。

【规则3-1-4】程序中不要出现紧靠大小写区分的相似的标识符。

【规则3-1-5】程序中不要出现标识符完全相同的全局变量与局部变量。

【规则3-1-6】变量的名字应当使用“名词”或者“形容词+名词”。

【规则3-1-7】全局函数的名字应当使用“动词”或者“动词+名词”。

类的成员函数应当只使用“动词”,被省略的名词就是对象本身。

【规则3-1-8】引用正确的反义词组命名具有互斥意义的变量或相反动作的函数等。

原文地址:https://www.cnblogs.com/philips-lu/p/3535015.html