每门语言都有自己的命名惯例。JavaScript 变量用 camelCase,Python 函数用 snake_case,CSS 类名用 kebab-case,数据库列名通常是 snake_case,React 组件是 PascalCase,常量是 SCREAMING_SNAKE_CASE。写跨语言代码、对接 API、做数据库字段映射时,在各种命名风格之间手动转换既枯燥又容易出错。
常见的命名风格
camelCase(小驼峰)
多个单词连在一起,第一个单词全小写,后续每个单词首字母大写:
userLoginCount
fetchApiResponse
isAuthenticated
使用场合:JavaScript / TypeScript 变量和函数、JSON key、Java 方法名、Swift 属性。
PascalCase(大驼峰 / UpperCamelCase)
和 camelCase 一样,但第一个单词首字母也大写:
UserLoginCount
FetchApiResponse
IsAuthenticated
使用场合:JavaScript / TypeScript 类名、React 组件名、C# 类型、Python 类名。
snake_case(下划线命名)
单词之间用下划线连接,全小写:
user_login_count
fetch_api_response
is_authenticated
使用场合:Python 变量和函数、Ruby、PostgreSQL 列名、PHP、C/C++ 结构体字段。
SCREAMING_SNAKE_CASE(全大写下划线)
和 snake_case 一样,但全部大写:
USER_LOGIN_COUNT
MAX_RETRY_COUNT
API_BASE_URL
使用场合:各语言的常量——Python 的模块级常量、Java 的 static final、环境变量、C/C++ 的宏定义。
kebab-case(短横线命名)
单词之间用连字符(-)连接,全小写:
user-login-count
fetch-api-response
is-authenticated
使用场合:CSS 类名和自定义属性、HTML 属性、URL slug、npm 包名、CLI 命令行参数。
Title Case(标题大写)
每个单词首字母大写:
User Login Count
Fetch Api Response
Is Authenticated
使用场合:博客标题、页面标题、按钮文字、菜单项。
各语言命名规范速查
| 语言 | 变量 | 函数 | 类 | 常量 | CSS |
|---|---|---|---|---|---|
| JavaScript | camel | camel | Pascal | SCREAMING | kebab |
| TypeScript | camel | camel | Pascal | SCREAMING | kebab |
| Python | snake | snake | Pascal | SCREAMING | — |
| Go | camel | camel | Pascal | — | — |
| Rust | snake | snake | Pascal | SCREAMING | — |
| Java | camel | camel | Pascal | SCREAMING | — |
| C# | camel | Pascal | Pascal | Pascal | — |
| Ruby | snake | snake | Pascal | SCREAMING | — |
| SQL | snake | — | — | UPPER | — |
实战场景
REST API 响应 → 后端模型字段
API 返回 camelCase,Python 代码用 snake_case。以前要逐个手改,现在批量粘贴进转换器:
API 返回:
{ "userId": 42, "firstName": "Alice", "createdAt": "2026-01-01" }
Python 模型字段:
user_id: int
first_name: str
created_at: datetime
把 userId, firstName, createdAt 粘进去,选 snake_case,立刻得到 user_id, first_name, created_at。
数据库列名 → 代码变量
PostgreSQL 用 snake_case。把一批列名粘进去,选 camelCase,一次转换出 TypeScript interface 的字段名,不用逐个敲。
URL Slug 生成
文章标题 “我最常用的开发工具 Top 10” → 转 kebab-case 后得到 我最常用的开发工具-top-10(英文部分生效),或者先把英文标题转一下:My-Top-10-Developer-Tools → my-top-10-developer-tools。
CSS 自定义属性
从 JavaScript 拿到 camelCase 的变量名,转成 CSS 变量需要的 kebab-case:
/* JS: userPrimaryColor */
/* CSS: --user-primary-color */
重构时批量改名
重构旧代码,需要把一批 camelCase 函数名改成 snake_case。先用转换器把所有名字转好,再用编辑器的批量替换。
转换器的工作原理
转换器按单词边界拆分输入文本,支持:
- 空格分隔:
my variable name - 下划线分隔:
my_variable_name - 连字符分隔:
my-variable-name - 大小写边界:
myVariableName→ 在大写字母前断开
粘贴任意格式,同时输出所有目标风格。
几个需要注意的边界情况
缩写词:userId 还是 userID?两种写法都有人用。团队内统一就好,转换器默认输出 userId。
数字:item3d 还是 item_3d?习惯不一,转换器通常把数字当作单词的延续。
前导下划线:Python 的 _private 约定表示私有属性,转换时注意不要把前导下划线丢掉。
不用再一个个手改变量名了。立即使用命名风格转换器 →