您的位置:首页 > 编程语言 > C语言/C++

高质量C++编程指南学习笔记3-4章---thanks to林锐

2013-01-30 17:40 363 查看
第三章     命名规则
命名规则应该是给变量、函数和类的命名规则。耳闻过“匈牙利”命名规则。其主要思想是:在变量和函数名中加入前缀以增进人们对程序的理解。如所有字符变量都以’ch’为前缀。若一个变量由ppch开头,则说明它是指向字符指针的指针。“匈牙利”法最大的缺点就是繁琐,如int
i, j, k;若用“匈牙利”命名规则,则应是int iI, iJ, iK;。
3、1共性规则
【规则3-1-1】标识符应直观,可望文知意。
【规则3-1-2】命名规则尽量与所采用的操作系统或开发工具的风格保持一致。Windows应用程序的标识符通常采用“大小写”混排的方式,如AddChild。而Unix应用程序的标识符通常采用“小写加下划线”的方式,如add_child。
【规则3-1-3】不要出现标识符完全相同的局部变量和全局变量。
【规则3-1-4】变量的名字当用“名词”或“形容词+名词”。全局函数的名字当用“动词”或“动词+名词”。类的成员函数当只用“动词”,被省略掉的名词就是对象本身。
【建议3-1-1】尽量避免名字中出现数字编号。
3、2简单Windows应用程序命名规则
【规则3-2-1】类名和函数名用大写字符开头的单词组合而成。
【规则3-2-2】变量和参数用小写字母开头的单词组合而成。
【规则3-2-3】常量用全大写的字母,用下划线分隔单词。
【规则3-2-4】静态变量加前缀s_(表示static)。
【规则3-2-5】若不得已需用全局变量,则使全局变量加前缀g_(表示global)。
【规则3-2-6】类的成员加前缀m_(表示member)。
【规则3-2-7】为防止某一软件库中的一些标识符和其他软件库中的冲突,可为各种标识符加上能反映软件性质的前缀。如三位图形标准库OpenGL的所有库函数均以gl开头,所有常量(或宏定义)均以GL开头。
   第四章 表达式和基本语句
运算符的格式第二章已经讲了啊,这章难道讲规则?
4、1运算符的优先级
一元运算符的+、-、*优先级高于对应的二元运算符。

【规则4-1-1】若代码行中运算符较多,用括号确定表达式的操作顺序,避免使用默认的优先级。



4、2复合表达式
如a=b=c=0这样的表达式称为符合表达式。
   【规则4-2-1】不要编写太复杂的符合表达式。
【规则4-2-2】不要有多用途的符合表达式。
【规则4-2-1】区分符合表达式和数学表达式。
4、3if语句:本节以“与零值比较”为例。
【规则4-3-1】对布尔值flag,它与零值比较的标准if语句:if (flag)/if (!flag)
【规则4-3-2】整型变量与零值比较。if (value==0)/if (value!=0),不用if (value)/if (!value),会被人误解value是布尔型。
【规则4-3-3】不可将浮点变量用”==”或”!=”与任何数字比较。因float和double类型都有精度限制。应设法转换为”>=”或”<=”形式。假设浮点变量名为x,应将if
(x==0.0)转化为if ((x>=-EPSION) && (x<=EPSION))其中EPSION是允许的误差(即精度)。
【规则4-3-4】指针变量与零值比较。if (p==NULL)/if (p!=NULL)。
额外说明:



4、4循环语句的效率
        
提高循环体效率的基本方式是降低循环体的复杂性。
   【建议4-4-1】在多重循环中,尽量将最长的循环放在最内层,最短的放在最外层,以减少CPU跨切循环层的次数。
   【建议4-4-2】若在循环体内存在逻辑判断,并且循环次数很大,宜将逻辑判断移到循环体的外面。



4、5for语句的循环控制变量
   【规则4-5-1】不可在for循环体内修改循环变量,防止for循环失去控制。
   【建议4-5-1】建议for语句的循环控制变量的取值采用“半开半闭区间”写法。



4、6switch语句
   【规则4-6-1】每个case语句的结尾+break,否则将导致多个分支重叠。
   【规则4-6-2】不要忘了最后那个default分支。即使不需default处理,也该保留语句default
: break;以防别人误以为你忘了default处理。
4、7goto语句:慎用。
 
总结:这章主要是表达式和基本语句的一些使用规则及部分版式建议。
 
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  VC++