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

类的板式

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值