关于Bjarne Stroustrup是否发布C++标识符命名规范及具体内容的技术问询
关于Bjarne Stroustrup是否发布C++标识符命名规范及具体内容的技术问询
当然有啦!作为C的设计者,Bjarne Stroustrup在他的权威著作(比如《C程序设计语言》)和公开分享中,明确给出过标识符命名的指导原则,这些规范也被大量C++开发者当作经典参考。
下面是他核心的命名规范要点:
- 类型标识符:类、结构体、枚举、
typedef/using定义的别名,推荐使用**大驼峰(UpperCamelCase)**格式,比如MyClass、NetworkConfig、ErrorType。这是他在书籍示例中全程遵循的风格,一眼就能区分出类型与其他标识符。 - 函数与变量:普通函数、局部变量、全局变量建议用小驼峰(lowerCamelCase),比如
calculateTotal()、userInput、globalTimeout;对于类的成员变量,他额外推荐在名称末尾加下划线,比如size_、name_,这样能快速区分成员变量和局部变量,避免代码里的命名冲突。 - 宏与常量:宏定义必须使用全大写+下划线的格式,比如
MAX_CONNECTIONS、DEBUG_MODE,因为宏是文本替换,这种风格能最大程度避免意外的命名冲突;而constexpr或const定义的常量,全局级别的可以用全大写下划线,类内的成员常量则可以沿用大驼峰格式,具体可根据团队风格调整。 - 通用原则:他反复强调可读性优先——标识符要见名知意,除非是循环临时变量(比如
i、j),否则不要用过于简短的名字;对于广为人知的缩写(比如URL、HTML)可以直接用大写,其他情况尽量用完整单词。
另外,他还特别提到:
"Choose a naming style and stick to it. Consistency is more important than the particular style chosen."
意思是,比起纠结具体用哪种风格,团队内部保持一致性更为关键,他给出的这些只是经过实践验证的推荐方案,而非强制的语法规则。
内容来源于stack exchange
相关产品推荐
相关产品推荐

