同一个字段,前端叫 userName,数据库叫 user_name,CSS 类叫 user-name,常量叫 USER_NAME——接口一对接,光改名就能耗掉半个下午。命名风格转换工具把一段名字一次转成 14 种写法,点选即复制,省掉逐个手敲和拼错大小写。
| 写法 | 名称 | 常见场景 |
|---|---|---|
userName | 小驼峰 camelCase | JavaScript、Java 变量与方法名 |
UserName | 帕斯卡 PascalCase | 类名、组件名、TypeScript 类型名 |
user_name | 下划线 snake_case | Python、Ruby、数据库字段、Rust |
user-name | 短横线 kebab-case | CSS 类名、HTML 属性、URL slug、文件名 |
USER_NAME | 大写常量 SCREAMING_SNAKE | 常量、环境变量 |
user.name | 点号 dot.case | 配置键、监控指标名 |
工具把 14 种都列出来,适合一次对照:不确定某个生态该用哪种,把候选全展开挑一个,比翻规范文档快。
HTTPServer 容易转错转换的难点不是加下划线,而是把原字符串切成词。工具会自动识别三类边界:大小写切换(userName → user | Name)、常见分隔符(空格、下划线、短横线、点号)、数字与字母交界(item2Value → item | 2 | Value)。
但连续大写缩写是经典难题:HTTPServer 究竟是「HTTP | Server」还是「H | T | T | P | Server」?成熟实现会按「大写串后接小写字母时,从最后一个大写字母前断开」处理,得到 http_server。遇到 XMLHttpRequest 这类混合缩写,转完仍建议人工扫一眼。
Id 还是 ID,否则序列化映射会各写各的;user_name 与 userName 是否真指同一字段,要靠接口文档确认;@JsonProperty、Python Pydantic 的 alias 都是为这类差异准备的,转换后记得同步注解(可配合 JSON 转类型定义一起用)。问:中文变量名能转吗?
工具按大小写与分隔符切词,中文没有大小写,通常整体作为一个词保留。建议标识符本身用英文,命名规范才有意义。
问:数字会被当成词吗?
会作为边界参与切分,如 item2Value 转成 item_2_value。若业务上希望 v2 不被拆开,转换后手工合并一下即可。
问:全大写常量转驼峰会怎样?
一般按 USER_NAME → userName 处理。工具本地运行,粘贴批量字段名也不会上传。
命名风格是小事,但跨层对接时到处都是它。一次转全、点选复制,这类细碎摩擦就消失了。