类的板式
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语句