我对其他人遵循的准则及其背后的原因感兴趣。我还对你认为是垃圾但普遍存在的指南感兴趣。有人能提出几个建议吗?
为了掀起热潮,我将先提出一些:
- 每个if / else语句后都要使用大括号(如上所述)。其背后的理由是,不总是容易判断单个语句是否实际上是一个语句,还是扩展为多个语句的预处理器宏,因此这段代码将中断:
``` // top of file: #define statement doSomething(); doSomethingElse // in implementation: if (somecondition) doSomething(); ```
但是如果您使用括号,则可以按预期工作。
- 仅用于条件编译的预处理器宏。预处理器宏可能会引起各种麻烦,因为它们不允许C++作用域规则。由于头文件中具有常见名称的预处理器宏,我曾多次被搞乱了。如果您不小心,可能会引起各种骚乱!
现在轮到你了。