【摘自《 Google C++ 编程规范》】
- 构造函数中只进行那些没有实际意义的初始化,可能的话,使用 Init() 方法集中初始化为有意义的数据。
- 如果一个类定义了若干成员变量又没有其他构造函数,需要定义一个默认构造函数,否则编译器将自动生产默认构造函数。
- 对单参数构造函数使用 C++ 关键字 explicit,避免不合时宜的变换。
- 仅在代码中需要拷贝一个对象时可使用拷贝构造函数,不需要拷贝时应使用 DISALLOW_COPY_AND_ASSIGN。
- 仅当只有数据时使用 struct,其他一概使用 class。
- 使用组合(composition)通常比使用继承更适宜,如果使用继承的话,只使用公共继承。
- 真正需要用到多重实现继承的时候非常少,只有当最多一个基类中含有实现,其他基类都是以 Interface 为后缀的纯接口时才会使用多重继承。
- 一股不要重载操作符,尤其是赋值操作,少数特定环境除外。
- 将数据成员私有化,并提供相关存取函数。(存取函数一般内联在头文件中)。
- 在类中使用特定的声明次序:
public:
、protected:
、private:
。每一块中的声明次序如下:
⑴ typedef 和 enum ;
⑵ 常量;
⑶ 构造函数;
⑷ 析构函数;
⑸ 成员函数,含静态成员函数;
⑹ 数据成员,含静态数据成员。 - 倾向于选择短小、凝练的函数。
网友评论