转换一个短语
user profile photo
camelCase: userProfilePhoto · PascalCase: UserProfilePhoto · snake_case: user_profile_photo · kebab-case: user-profile-photo · CONSTANT_CASE: USER_PROFILE_PHOTO
同样的单词,五种风格。选择和你正在编辑的文件一致的那一种。
在 camelCase、snake_case、kebab-case 等格式之间转换文本。
最后更新
Coddy 让你在浏览器里编写真实代码来学习:互动课程、即时反馈,卡住时还有 AI 帮忙。
大小写转换器能把一个短语或标识符改写成所有常用的命名风格:camelCase(小驼峰)、PascalCase(大驼峰)、snake_case(下划线)、kebab-case(短横线)、CONSTANT_CASE、Title Case、Sentence case 等等。开发者会经常用到它:重构变量名、生成数据库列名、按照风格指南编写 API 字段名,以及把用户输入的文本转成 URL slug。
不同的技术生态偏好不同的命名风格。JavaScript 和 Java 喜欢 camelCase;Python 和 Ruby 喜欢 snake_case;CSS 类名和 URL 用 kebab-case;环境变量和常量用 CONSTANT_CASE。有了大小写转换器,你不必在脑子里逐个字符地改写,就能把短语转换成正确的风格。
难点不在改写,而在分词。大小写转换器必须先把 XMLHttpRequest、iOSDevice 或 read_HTML5Tags 这样的混合输入切分成正确的单词,再按所选风格重新拼接。聪明的分词器能妥善处理缩写词(XML、iOS)和数字。
_ - .)和数字边界切分混合输入,然后再重新拼接。XMLParser 转换回来应该是 xmlParser 还是 xMLParser?选择你的代码库采用的约定,并保持一致。café → cafe),并只使用有限的字符(字母、数字、连字符)。放入一个短语、一个标识符或一整个列表都可以。混合输入(camelCase、snake_case、空格)也没问题。
转换器会把输入改写成 10 多种格式。选择你的代码库使用的那一种。
如果你的风格指南有特定规则,可以切换对缩写词、数字和特殊字符的处理方式。
点击任意变体,把它复制到剪贴板。跨文件重构或填写 OpenAPI 规范时很有用。
同一个短语在最常见的命名约定下分别是什么样子。
| 风格 | 示例 | 使用场景 |
|---|---|---|
camelCase | userName | JavaScript 变量、Java 方法 |
PascalCase | UserName | 大多数语言中的类名、React 组件 |
snake_case | user_name | Python、Ruby、数据库列名 |
SCREAMING_SNAKE_CASE | USER_NAME | 常量、环境变量 |
kebab-case | user-name | URL、CSS 类名、命令行参数 |
Title Case | User Name | 标题、标签 |
Sentence case | User name | 界面文案、正文 |
Train-Case | User-Name | HTTP 请求头(X-Request-Id) |
dot.case | user.name | 配置键、带命名空间的设置 |
flatcase | username | 域名、包名 slug |
user profile photo
camelCase: userProfilePhoto · PascalCase: UserProfilePhoto · snake_case: user_profile_photo · kebab-case: user-profile-photo · CONSTANT_CASE: USER_PROFILE_PHOTO
同样的单词,五种风格。选择和你正在编辑的文件一致的那一种。
const accessTokenExpiresAt = ...;access_token_expires_at = ...大多数团队在领域模型中保留一个规范名称,在不同语言或不同 API 层之间的边界上再进行转换。
10 Best Practices for REST APIs
10-best-practices-for-rest-apis
slug 就是 kebab-case 加上全小写,并且只包含安全字符。它们既可以用作 URL 路径段,也可以用作 CSS 类名。
userName 又有 user_name)。选定一种风格,并用 linter 强制执行。XmlParser 和 XMLParser)。每个代码库定一次规则,然后坚持下去。userName 和 username 在 PostgreSQL 中可能是同一列,在 MySQL 中却可能不同。lodash.snakeCase())更快,也更不容易出错。accessTokenExpiresAt)。它是 JavaScript 和 Java 中变量和方法最主流的命名风格。access_token_expires_at)。它是 Python、Ruby 以及大多数关系型数据库列名的惯用写法。UserProfile),camelCase 不大写(userProfile)。在大多数技术生态中,PascalCase 专门用于类名和 React 组件。é → e),再删除字母、数字和连字符以外的字符。大多数大小写转换器都提供 slug 模式,一步完成所有这些操作。跟随语言的习惯:JavaScript、Java、Swift 用 camelCase;Python、Ruby、Rust 用 snake_case。在同一个代码库中,保持一致比具体选哪种更重要,linter(ESLint、Pylint、Rubocop)可以帮你强制执行。