关于C++编码规范的讨论之编码风格为什么?•对语言–充分利用语言特性•对人–可读性–可维护性–复用性一编码格式•命名原则•代码格式•注释•文件和目录•头文件•条件编译•编译命名原则•清楚,无歧义•简单,易于理解•类型名每个英文单词头字母大写,其他小写,以_T结尾•变量和函数名首字母小写,其后单词第一个字母大写,其余小写•宏,常量和模板名全大写,以下划线分割单词命名规则•类和对象应是名词•实现行为的函数应是动词•变量名应是名词•布尔型的名字要直观命名原则•尽量使用可发音的名字•避免使用于国际组织占用格式比如双下划线开头(ISOc++,ANSIc),包含双下划线,单下划线开头,is[a-z]开头,str[a-z]开头,mem[a-z]开头•减少全局命名空间级标志符,置于命名空间、类或函数代码格式统一,合理,美观•水平缩进每次用两个空格•在“;”,“,”之后加空格•在关键字和“(”之间加空格下列除外:catch,sizeof,typeid,asm除外代码格式•文件主要部分用空行分开(分段可读)•局部变量声明和代码之间用空行分开•每行不超过78个字符,超过按逻辑分割•花括号{}要单独占一行•花括号中没有语句或单一语句不省略代码格式•变量定义集中放置,各占一行•定义指针和引用时*和&紧跟类型•按编译器解析顺序放置变量声明的修饰性constchar*pName和charconst*pName•函数声明放在一行•函数实现放于多行,依次是模板描述,inline和返回类型,函数名及参数,函数体•函数名和左括号间不用空格•函数声明时给出参数名字代码格式•类内不同级别的元素排列顺序按元素的公开性,由大到小排列public到private•类成员函数排列,按功能归类排列•类成员变量按字母顺序排列(建议)注释•用英文写•确保注释完善代码,而非重复代码•注释中的术语要通用•注释简单,清楚,精确•注释不能超出注释代码所含内容•确保注释更新注释•注释不具备约束使用者行为的能力•注释不要嵌套•不要用/**/注释掉大块代码,应该用#if0•函数注释,在声明和实现前给出恰当的注释•注释频率,每5行至少有一行注释文件和目录•使用统一且通用的文件名后缀•文件名,体现内容,精练,可使用公共前缀•类的文件组成,接口文件和实现文件•保持文件前言的简洁性•文件的段落安排有序头文件•头文件多次引用的防范•确保公共头文件的自足性•引用时不要用绝对路径•将函数库放在一个单独的目录下引用•不要在头文件中定义常量、变量•任何声明若被多个源文件引用则应在头文件中条件编译•最小化条件编译的使用范围•不要遗漏#else•若只测试符号的存在,不要赋值编译•关注编译时的警告(warning)•减少编译时间