每门语言都有自己的命名惯例。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
JavaScriptcamelcamelPascalSCREAMINGkebab
TypeScriptcamelcamelPascalSCREAMINGkebab
PythonsnakesnakePascalSCREAMING—
Gocamelcamel(导出时 Pascal)Pascalcamel 或 Pascal(MixedCaps)—
RustsnakesnakePascalSCREAMING—
JavacamelcamelPascalSCREAMING—
C#camelPascalPascalPascal—
RubysnakesnakePascalSCREAMING—
SQLsnake——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

转换器不拆分 camelCase,直接粘 userId 会得到 userid。先把词用空格隔开(user id、first name、created at),再复制 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。先用转换器把所有名字转好,再用编辑器的批量替换。

转换器的工作原理

转换器先把输入转成小写,再按所有非 ASCII 字母、非数字的字符拆分:空格、下划线、连字符和标点。所有目标风格同时输出:

  • my_variable_name、my-variable-name、MY VARIABLE NAME 都能得到 myVariableName、my_variable_name、my-variable-name
  • myVariableName 不会被拆开:snake_case 得到 myvariablename
  • A–Z 以外的字母在代码类风格里会被当作分隔符:café au lait 得到 caf_au_lait,中文会被整体去掉

要从 camelCase 或 PascalCase 转换,先在词之间加空格。

几个需要注意的边界情况

缩写词:userId 还是 userID?两种写法都有人用。团队内统一就好。输入 user ID 时转换器输出 userId;输入 userID 则得到 userid,因为它不按大写字母拆分。

数字:item3d 还是 item_3d?习惯不一,转换器通常把数字当作单词的延续。

前导下划线:Python 的 _private 约定表示私有属性,本转换器会去掉它:snake_case 和 kebab-case 得到 private,camelCase 得到 Private。


不用再一个个手改变量名了。立即使用命名风格转换器 →