命名风格与罗马数字速查表

变量该用 camelCase 还是 snake_case?URL 该用连字符还是下划线?1999 的罗马数字怎么写?本页把 8 种命名风格的规则与适用场景列成对照表,并附罗马数字的基本符号与左减规则。

8 种命名风格对照

风格示例构成规则常见用途
camelCaseuserNameList首词全小写,后续词首字母大写JavaScript / Java 变量与函数名
PascalCaseUserNameList每个词首字母都大写类名、组件名、类型名
snake_caseuser_name_list全小写,词间下划线Python / Ruby 变量,数据库字段名
SCREAMING_SNAKEUSER_NAME_LIST全大写,词间下划线常量、环境变量
kebab-caseuser-name-list全小写,词间连字符URL 路径、CSS 类名、npm 包名
Train-CaseUser-Name-List首字母大写,词间连字符HTTP 头部名称、标题化标识
flatcaseusernamelist全小写且无分隔符包名、部分域名与命令行参数
dot.caseuser.name.list全小写,词间点号配置键、遥测指标名

罗马数字基本符号与左减规则

基本符号只有七个:I(1) V(5) X(10) L(50) C(100) D(500) M(1000)。小符号在大符号左边表示相减,右边表示相加。

数值罗马数字说明
1I基本符号
4IV左减:5 减 1
5V基本符号
9IX左减:10 减 1
10X基本符号
40XL左减:50 减 10
50L基本符号
90XC左减:100 减 10
100C基本符号
400CD左减:500 减 100
500D基本符号
900CM左减:1000 减 100
1000M基本符号

常见问题

camelCase 和 snake_case 到底该选哪个?

没有全局最优,跟随你所在语言与社区的既有约定最重要。Python、Ruby、Rust 惯用 snake_case,JavaScript、Java、Swift 惯用 camelCase,Go 则用 PascalCase 表示导出标识符。数据库列名普遍用 snake_case,因为多数数据库对大小写不敏感。真正的红线是同一个项目里不要混用:一旦混用,代码搜索、重构和自动化工具都会变得不可靠。跨系统边界时(比如后端 Python 返回给前端 JavaScript),在边界处做一次统一转换,而不是让两种风格渗进同一层。

URL 里为什么推荐 kebab-case 而不是下划线?

有三个实际原因。第一,搜索引擎传统上把连字符当作分词符,而下划线会被忽略,kebab-case 更利于关键词识别。第二,下划线在带下划线的超链接样式下会被下划线本身盖住,可读性变差。第三,URL 对大小写敏感,全小写能避免同一资源出现多个大小写变体造成的重复内容问题。综合起来,kebab-case 全小写是 URL 路径的事实标准。

罗马数字 4 为什么写成 IV 而不是 IIII?

罗马数字用「左减右加」的记数规则:小符号写在大符号左边表示相减,写在右边表示相加。所以 4 写成 IV 即 5 减 1,6 写成 VI 即 5 加 1。这条规则让写法更短也更易读。不过历史上确实存在 IIII 的写法,尤其在钟表面上,据说是为了视觉上与对面的 VIII 平衡,也避免 IV 被误读为罗马主神朱庇特的名字缩写。现代标准取 IV。

1999 用罗马数字怎么写?

写作 MCMXCIX,拆开看是 1000 + 900 + 90 + 9。逐段转换:1000 是 M;900 是 CM(1000 减 100);90 是 XC(100 减 10);9 是 IX(10 减 1)。拼接起来即 MCMXCIX。转换的通用做法是从大到小逐位取最大符号,遇到 4 和 9 这类数字时改用左减形式,而不是连续写四个相同符号。