1. 文件结构:
- 头文件(.h)用于声明程序的接口,定义文件(.c/.cpp)用于实现程序的具体功能。
- 头文件应使用 `ifndef/define/endif` 结构以避免重复包含。
- 头文件中不应包含定义,只存放声明。
2. 程序的版式:
- 使用恰当的空行和代码行内的空格以提高代码的可读性。
- 使用对齐和长行拆分以保持代码整洁。
- 注释应清晰且必要,避免过度注释。
3. 命名规则:
- 标识符应直观且可拼读,避免使用汉语拼音。
- 类名、函数名、变量和参数、常量的书写格式应符合一定规则。
- 静态变量、全局变量、类的成员变量应有适当的前缀。
4. 表达式和基本语句:
- 使用括号明确表达式的操作顺序。
- 避免编写复杂或多用途的复合表达式。
- 正确使用 if 语句进行布尔变量、整型变量、浮点变量和指针变量的比较。
5. 常量:
- 使用 const 常量替代宏常量以提高程序的健壮性。
- 常量定义应包含与其他常量的相关性。
6. 函数设计:
- 参数的书写应完整,避免省略参数名。
- 参数命名、顺序应合理,避免过多参数。
- 函数返回值应明确,避免将正常值和错误标志混在一起返回。
7. 内存管理:
- 使用 malloc 或 new 申请内存后应立即检查指针是否为 NULL。
- 确保动态内存的申请与释放配对,避免内存泄漏。
- 释放内存后应将指针设置为 NULL,避免野指针。
8. C++函数的高级特性:
- 了解函数重载、内联、const 和 virtual 等高级特性。
- 合理使用运算符重载,避免改变运算符的优先级。
- 谨慎使用内联函数,避免代码膨胀。
9. 类的构造函数、析构函数与赋值函数:
- 编写合适的构造函数和析构函数,确保对象的初始化和清除。
- 编写正确的拷贝构造函数和赋值函数,避免位拷贝带来的问题。
10. 类的继承与组合:
- 理解继承和组合的概念,正确应用它们以提高代码的复用性和扩展性。
11. 其他编程经验:
- 使用 const 提高函数的健壮性。
- 提高程序的效率,关注全局和局部效率的平衡。
- 避免编写技巧性很高的代码,注重代码的可读性和可维护性。