Google C++ 编程规范.pdf
文件大小: 516k
源码售价: 10 个金币 积分规则     积分充值
资源说明:高清版Google C++ 编程规范的pdf文件,里面带有目录 一、头文件........................................................................................................................................4 1. #define的保护....................................................................................................................... 4 2. 头文件依赖.......................................................................................................................... 4 3. 内联函数.............................................................................................................................. 5 4. -inl.h文件.......................................................................................................................... 5 5. 函数参数顺序(Function Parameter Ordering)............................................5 6. 包含文件的名称及次序......................................................................................................6 二、作用域........................................................................................................................................7 1. 命名空间(Namespaces)..........................................................................................7 2. 嵌套类(Nested Class)............................................................................................. 9 3. 非成员函数(Nonmember)、静态成员函数(Static Member)和全局函 数(Global Functions)...................................................................................................9 4. 局部变量(Local Variables)..................................................................................10 5. 全局变量(Global Variables)............................................................................... 10 三、类..............................................................................................................................................11 1. 构造函数(Constructor)的职责..............................................................................11 2. 默认构造函数(Default Constructors)............................................................. 12 3. 明确的构造函数(Explicit Constructors).........................................................12 4. 拷贝构造函数(Copy Constructors)...................................................................13 5. 结构体和类(Structs vs. Classes)......................................................................14 6. 继承(Inheritance)..................................................................................................14 7. 多重继承(Multiple Inheritance)...................................................................... 15 8. 接口(Interface)....................................................................................................... 15 9. 操作符重载(Operator Overloading)...............................................................16 10. 存取控制(Access Control)................................................................................16 11. 声明次序(Declaration Order).........................................................................17 12. 编写短小函数(Write Short Functions)........................................................17 四、Google特有的风情................................................................................................................. 18 1. 智能指针(Smart Pointers).................................................................................. 18 五、其他C++特性..........................................................................................................................19 1. 引用参数(Reference Arguments)...................................................................19 2. 函数重载(Function Overloading)....................................................................19 3. 缺省参数(Default Arguments)......................................................................... 20 4. 变长数组和alloca(Variable-Length Arrays and alloca())................ 20 5. 友元(Friends)............................................................................................................20 6. 异常(Exceptions)....................................................................................................20 7. 运行时类型识别(Run-Time Type Information, RTTI)........................... 22 8. 类型转换(Casting)................................................................................................... 22 9. 流(Streams)..............................................................................................................23 10. 前置自增和自减(Preincrement and Predecrement)............................24 11. const的使用(Use of const).............................................................................24 12. 整型(Integer Types)..........................................................................................25 13. 64位下的可移植性(64-bit Portability)........................................................ 26 14. 预处理宏(Preprocessor Macros)..................................................................27 15. 0和NULL(0 and NULL)....................................................................................27 16. sizeof(sizeof)........................................................................................................28 17. Boost库(Boost)................................................................................................... 28 六、命名约定..................................................................................................................................29 1. 通用命名规则(General Naming Rules)..........................................................29 2. 文件命名(File Names)........................................................................................... 30 3. 类型命名(Type Names).........................................................................................31 4. 变量命名(Variable Names).................................................................................31 5. 常量命名(Constant Names)............................................................................... 31 6. 函数命名(Function Names)................................................................................32 7. 命名空间(Namespace Names)......................................................................... 32 8. 枚举命名(Enumerator Names).........................................................................32 9. 宏命名(Macro Names)..........................................................................................33 10. 命名规则例外(Exceptions to Naming Rules)..........................................33 七、注释..........................................................................................................................................34 1. 注释风格(Comment Style)..................................................................................34 2. 文件注释(File Comments)...................................................................................34 3. 类注释(Class Comments)...................................................................................34 4. 函数注释(Function Comments)....................................................................... 35 5. 变量注释(Variable Comments)........................................................................36 6. 实现注释(Implementation Comments)...................................................... 37 7. 标点、拼写和语法(Punctuation, Spelling and Grammar)................... 38 8. TODO注释(TODO Comments).........................................................................38 八、格式..........................................................................................................................................39 1. 行长度(Line Length)..............................................................................................39 2. 非ASCII字符(Non-ASCII Characters)..........................................................40 3. 空格还是制表位(Spaces vs. Tabs).................................................................... 40 4. 函数声明与定义(Function Declarations and Definitions)...................40 5. 函数调用(Function Calls).................................................................................... 42 6. 条件语句(Conditionals)........................................................................................43 7. 循环和开关选择语句(Loops and Switch Statements).............................44 8. 指针和引用表达式(Pointers and Reference Expressions)...................45 9. 布尔表达式(Boolean Expressions)................................................................. 46 10. 函数返回值(Return Values)............................................................................. 46 11. 变量及数组初始化(Variable and Array Initialization)........................ 46 12. 预处理指令(Preprocessor Directives)....................................................... 46 13. 类格式(Class Format)........................................................................................47 14. 初始化列表(Initializer Lists)...........................................................................48 15. 命名空间格式化(Namespace Formatting).................................................48 16. 水平留白(Horizontal Whitespace).............................................................. 49 17. 垂直留白(Vertical Whitespace).................................................................... 50 九、规则之例外...............................................................................................................................52 1. 现有不统一代码(Existing Non-conformant Code)...................................52 2. Windows代码(Windows Code)......................................................................52 十、团队合作..................................................................................................................................53
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。