命名风格与罗马数字速查表
变量该用 camelCase 还是 snake_case?URL 该用连字符还是下划线?1999 的罗马数字怎么写?本页把 8 种命名风格的规则与适用场景列成对照表,并附罗马数字的基本符号与左减规则。
8 种命名风格对照
| 风格 | 示例 | 构成规则 | 常见用途 |
|---|---|---|---|
| camelCase | userNameList | 首词全小写,后续词首字母大写 | JavaScript / Java 变量与函数名 |
| PascalCase | UserNameList | 每个词首字母都大写 | 类名、组件名、类型名 |
| snake_case | user_name_list | 全小写,词间下划线 | Python / Ruby 变量,数据库字段名 |
| SCREAMING_SNAKE | USER_NAME_LIST | 全大写,词间下划线 | 常量、环境变量 |
| kebab-case | user-name-list | 全小写,词间连字符 | URL 路径、CSS 类名、npm 包名 |
| Train-Case | User-Name-List | 首字母大写,词间连字符 | HTTP 头部名称、标题化标识 |
| flatcase | usernamelist | 全小写且无分隔符 | 包名、部分域名与命令行参数 |
| dot.case | user.name.list | 全小写,词间点号 | 配置键、遥测指标名 |
罗马数字基本符号与左减规则
基本符号只有七个:I(1) V(5) X(10) L(50) C(100) D(500) M(1000)。小符号在大符号左边表示相减,右边表示相加。
| 数值 | 罗马数字 | 说明 |
|---|---|---|
| 1 | I | 基本符号 |
| 4 | IV | 左减:5 减 1 |
| 5 | V | 基本符号 |
| 9 | IX | 左减:10 减 1 |
| 10 | X | 基本符号 |
| 40 | XL | 左减:50 减 10 |
| 50 | L | 基本符号 |
| 90 | XC | 左减:100 减 10 |
| 100 | C | 基本符号 |
| 400 | CD | 左减:500 减 100 |
| 500 | D | 基本符号 |
| 900 | CM | 左减:1000 减 100 |
| 1000 | M | 基本符号 |
常见问题
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 这类数字时改用左减形式,而不是连续写四个相同符号。