C++高质量编程指南笔记(二)

来源:互联网 发布:淘宝老客户怎么维护 编辑:程序博客网 时间:2024/05/22 09:25

类的板式

class A{public:    void Func1();    void Func2();    ...private:    int i;    float x;    ... };

以行为为中心的板式

命名规则

1、尽量避免名字中出现数字编号,如Value1、Value2等,除非逻辑上的确需要编号。这是为了防止程序员偷懒,不肯为命名动脑筋尔导致产生无意义的名字。

2、静态变量加前缀s_(表示static)
static int s_value;

3、类的成员变量加前缀m_(表示member)
int m_width;

4、全局变量加g_(表示global)
int g_maxScore;

表达式

if与零值的比较
1、bool

bool flag = true;if (flag)if (!flag)

2、int

int i = 0;if (i == 0);if (i != 0);

3、float
无论是float还是double类型的变量,都有精度限制,所以一定要避免将浮点变量用”==”或”!=”与数字比较,应该设法转化成”>=”或”<=”形式。

float EPSINON = 0.00001;    //允许的误差if ((x >= -EPSINON) && (x <= EPSINON))

4、指针

if (p == null)if (p != null)

循环语句的效率

1、循环体内存在逻辑判断,并且循环次数很大,宜将逻辑判断移到循环体外面

if (condition){    for (int i=0; i<N; i++)    {        DoSomething();    }}else{    for (int i=0; i<N; i++)    {        DoOtherthing();    }}

效率高但不简洁

for (int i=0; i<N; i++){    if (condition)    {        DoSomething();    }    else    {        DoOtherthing();    }}

简洁,但是效率低

2、不可再for 语句的循环提内修改循环变量,防止循环失去控制
3、建议for语句采用“半开半闭区间”

for (int i=0; i<N; i++){    ...}   //半开半闭区间for (int i=0; i<=N-1; i++){    ...}   //闭区间

switch语句

1、每个case语句结尾要加break,除非有意有多个分支重叠
2、不要忘记最后那个default分支,即使不需要。
3、慎用goto,goto能从多重循环体中跳到外面,省去多个break语句

0 0
原创粉丝点击