7.8. 枚举命名

总述

枚举的命名应当和 常量 或 宏 一致: kEnumName 或是 ENUM_NAME.

说明

单独的枚举值应该优先采用 常量 的命名方式. 但 宏 方式的命名也可以接受. 枚举名 UrlTableErrors (以及 AlternateUrlTableErrors) 是类型, 所以要用大小写混合的方式.

  1. enum UrlTableErrors {
  2. kOK = 0,
  3. kErrorOutOfMemory,
  4. kErrorMalformedInput,
  5. };
  6. enum AlternateUrlTableErrors {
  7. OK = 0,
  8. OUT_OF_MEMORY = 1,
  9. MALFORMED_INPUT = 2,
  10. };

2009 年 1 月之前, 我们一直建议采用 宏 的方式命名枚举值. 由于枚举值和宏之间的命名冲突, 直接导致了很多问题. 由此, 这里改为优先选择常量风格的命名方式. 新代码应该尽可能优先使用常量风格. 但是老代码没必要切换到常量风格, 除非宏风格确实会产生编译期问题.