You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

蛇形命名法(snake case)中单词与数字的分隔规范咨询

Snake Case中数字的处理:column_1还是column1

Great question—this is one of those edge cases that doesn’t have a single "official" rule, but there are strong conventions in C and most snake_case contexts that’ll help you decide.

核心原则:分隔独立语义单元

蛇形命名法的本质是用下划线分隔所有独立的语义片段,让标识符一目了然。对于你的例子Column 1

  • 如果数字1是一个独立的语义单元(比如表示列的序号),column_1是更符合蛇形命名法初衷的写法。下划线明确区分了“列”和“序号1”,可读性更强,尤其是在复杂的标识符里(比如user_profile_3 vs userprofile3,一眼就能看出数字是独立的编号)。
  • 直接写column1虽然在C语言中是合法的标识符,但它更偏向于驼峰命名法的简化思路(驼峰里会写column1),和蛇形“分隔所有单元”的核心逻辑不太一致。

C语言社区的实践

在C语言的实际项目(比如Linux内核、开源库)中,你会发现大部分时候都会用下划线分隔数字和前面的单词:

  • 比如page_2buffer_size_1024这种写法很常见,因为它能避免歧义(比如column12到底是“列12”还是“列1和2”?加下划线的column_12就完全没有这个问题)。
  • 少数例外是一些约定俗成的类型别名(比如u8i32表示8位无符号整数、32位有符号整数),但这些属于特殊的缩写,不是常规的命名场景。

总结

如果你的团队没有特定的命名规范,优先选择column_1这种写法:

  • 更符合蛇形命名法的核心逻辑
  • 可读性更强,减少协作中的误解
  • 更贴合C语言社区的通用实践

当然,如果团队已经约定了column1的写法,那就跟着团队规范走——代码一致性永远比个人偏好更重要。

内容的提问来源于stack exchange,提问作者Max Yankov

火山引擎 最新活动