1. 只允许使用空格缩进,Tab键一律用空格替换。
2. 函数在源文件中的位置和其在头文件中的位置保持一致。
3. 如果一个成员变量在多于两处地方被修改,那么就需要重构代码,把对该成员变量的修改封装起来,提供修改的接口。
4. 提供访问数据的接口,而不是直接访问数据,例如不要直接使用vipInfo.level,而要使用vipInfo.Level()来访问vip等级。
5. 不要把不同层次的抽象混杂在一起。即保持每个类简洁单纯只涉及一个抽象层次,一个类不要混杂不同抽象层次的功能。
6. 代码中不要保留注释掉的旧代码,坚决干掉。
7. 尽可能不要在头文件中进行宏定义,如果必须要定义那么要确保命名的唯一性,一定不要命名为null/NULL/Null/pi/PI/Pi这样常用的,以免和使用到的第三方库产生命名冲突,可以命名为"YourProjectName_null"或类似的。
8. 头文件中尽可能使用前置声明,不包含不必要的头文件,减少编译依赖,避免包含很多头文件带来的编译耗时和不必要的麻烦。
9. 针对接口编码,不要针对实现,更不要针对数据编码!
10. 不能从功能出发去编码,应该从设计出发去编码。
//TOBECONTINUED