质量属性:正确性、健壮性、可靠性、效率、易用性、可读性(可理解性)、可扩展性、可复用性、兼容性、可移植
头文件:ifndef/define/endif
头文件的作用:
*通过头文件来调用库功能。在很多场合,源代码不便(或不准)向用户公布,只要向用户提供头文件和二进制的库即可。用户只需要按照头文件中的接口声明来调用库功能,而不必关心接口怎么实现的。编译器会从库中提取相应的代码。
*头文件能加强类型安全检查。如果某个接口被实现或被使用时,其方式与头文件中的声明不一致,编译器就会指出错误,这一简单的规则能大大减轻程序员调试、改错的负担。
如果一个软件的头文件数目比较多(如超过十个), 通常应将头文件和 定义文件分别保存于不同的目录,以便于维护。
程序的板式:
程序的版式追求清晰、美观
在每个类声明之后、每个函数定义结束之后都要加空行。
一行代码只做一件事情,如只定义一个变量,或只写一条语句。这样的代码容易阅读,并且方便于写注释。
长表达式要在低优先级操作符处拆分成新行, 操作符放在新行之首 (以便突出操作符)。拆分出的新行要进行适当的缩进,使排版整齐,语句可读。
命名规则:
*标识符最好采用英文单词或其组合,便于记忆和阅读。切忌使用汉语拼音来命名。
*命名规则尽量与所采用的操作系统或开发工具的风格保持一致。
*程序中不要出现仅靠大小写区分的相似的标识符。
*变量的名字应当使用“名词”或者“形容词+名词”。
*全局函数的名字应当使用“动词”或者“动词+名词” (动宾词组)。 类的成员函数应当只使用“动词” ,被省略掉的名词就是对象本身。
类名和函数名用大写字母开头的单词组合而成。
变量和参数用小写字母开头的单词组合而成。
常量全用大写的字母,用下划线分割单词。
静态变量加前缀 s_。
如果不得已需要全局变量,则使全局变量加前缀 g_(表示 global)。
类的数据成员加前缀 m_(表示 member),这样可以避免数据成员与成员函数的参数同名。
为了防止某一软件库中的一些标识符和其它软件库中的冲突,可以为各种标识符加上能反映软件性质的前缀。例如三维图形标准 OpenGL 的所有库函数 均以 gl 开头,所有常量(或宏定义)均以 GL 开头。
常量:
在 C++ 程序中只使用 const 常量而不使用宏常量,即 const 常量完全取代宏常量。
需要对外公开的常量放在头文件中,不需要对外公开的常量放在定义文件的头部。
建立在整个类中都恒定的常量应该用类中的枚举常量来实现。(只能是整数)
函数设计:
值传递(pa by value)
指针传递(pa by pointer)
引用传递(pa by reference)
目的参数放在前面,源参数放在后面。
如: char *strcpy( char *strDestination, const char *strSource );
黑马程序员C语言教程: CC++培训专家编写高效C语言的四大绝招