变量命名风格一次转全:驼峰、下划线、短横线等 14 种

同一个字段,前端叫 userName,数据库叫 user_name,CSS 类叫 user-name,常量叫 USER_NAME——接口一对接,光改名就能耗掉半个下午。命名风格转换工具把一段名字一次转成 14 种写法,点选即复制,省掉逐个手敲和拼错大小写。

一、几种主流风格各用在哪

写法名称常见场景
userName小驼峰 camelCaseJavaScript、Java 变量与方法名
UserName帕斯卡 PascalCase类名、组件名、TypeScript 类型名
user_name下划线 snake_casePython、Ruby、数据库字段、Rust
user-name短横线 kebab-caseCSS 类名、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 这类混合缩写,转完仍建议人工扫一眼。

三、跨语言对接时的三个注意点

  1. 缩写保持一致:ID、URL、API 这类词,团队要约定统一写成 Id 还是 ID,否则序列化映射会各写各的;
  2. 别让工具替你决定语义:转换只改写法不改含义,user_name 与 userName 是否真指同一字段,要靠接口文档确认;
  3. 批量改名要配合注解:Go 的 json tag、Java 的 @JsonProperty、Python Pydantic 的 alias 都是为这类差异准备的,转换后记得同步注解(可配合 JSON 转类型定义一起用)。

四、常见问题

问:中文变量名能转吗?
工具按大小写与分隔符切词,中文没有大小写,通常整体作为一个词保留。建议标识符本身用英文,命名规范才有意义。

问:数字会被当成词吗?
会作为边界参与切分,如 item2Value 转成 item_2_value。若业务上希望 v2 不被拆开,转换后手工合并一下即可。

问:全大写常量转驼峰会怎样?
一般按 USER_NAME → userName 处理。工具本地运行,粘贴批量字段名也不会上传。

🔤 命名风格转换:一次把变量名转成驼峰、帕斯卡、下划线、短横线、常量、点号等 14 种风格,自动切分大小写、数字与常见分隔符边界,点选即复制。批量整理标识符时搭配 文本按行处理,接口字段名生成类型可看 JSON 转代码指南。

五、一条实用流程

  1. 定下团队各层的命名规范(前端驼峰、库表下划线、CSS 短横线);
  2. 对接接口时,用工具把字段名一次展开成 14 种,挑对应写法复制;
  3. 含缩写、数字的混合命名,转换后人工确认切分结果;
  4. 序列化映射写进注解,别靠运行时猜。

命名风格是小事,但跨层对接时到处都是它。一次转全、点选复制,这类细碎摩擦就消失了。