命名规范为什么重要
代码里变量名、函数名、类名怎么写,不只是个人喜好。统一命名规范让代码可读、团队协作顺畅、风格一致。不同语言有不同惯例,搞混了显得不专业。
常见命名规范
驼峰命名(camelCase)
第一个单词小写,后续单词首字母大写:
firstName
lastName
getUserInfo
isLoggedIn
用于:JavaScript/TypeScript 变量和函数、Java 方法和变量、C# 方法和变量。
帕斯卡命名(PascalCase / UpperCamelCase)
每个单词首字母都大写:
FirstName
UserService
HomeController
用于:JavaScript/TypeScript 类和接口、Java 类、C# 类和方法、React 组件。
下划线命名(snake_case)
单词全小写,用下划线分隔:
first_name
last_name
get_user_info
用于:Python 变量和函数、Ruby 变量和方法、数据库字段名、PHP 变量。
大写下划线(UPPER_SNAKE_CASE / SCREAMING_SNAKE_CASE)
全大写,下划线分隔:
MAX_RETRY
DEFAULT_TIMEOUT
API_BASE_URL
用于:常量、配置项、枚举值。几乎所有语言都用这个规范命名常量。
短横线命名(kebab-case)
全小写,短横线分隔:
first-name
user-profile
api-key
用于:URL 路径、HTML/CSS 类名、文件名、配置文件键名。
点号命名(dot.case)
用点分隔:
user.name
config.timeout
用于:配置文件层级键名、命名空间。
各语言惯例速查
JavaScript / TypeScript
- 变量、函数:camelCase(getUserInfo)
- 类、接口、类型:PascalCase(UserService)
- 常量:UPPER_SNAKE_CASE(MAX_RETRY)
- 私有成员:前缀下划线 camelCase(_privateVar)
Python
- 变量、函数:snake_case(get_user_info)
- 类:PascalCase(UserService)
- 常量:UPPER_SNAKE_CASE(MAX_RETRY)
- 私有成员:前缀下划线 snake_case(_private_var)
Java
- 变量、方法:camelCase(getUserInfo)
- 类:PascalCase(UserService)
- 常量:UPPER_SNAKE_CASE(MAX_RETRY)
- 包名:全小写(com.example.service)
CSS / HTML
- 类名:kebab-case(user-profile)
- ID:kebab-case 或 camelCase(团队定)
数据库
- 表名、字段名:snake_case(user_name)
- 也有用 camelCase 的,看团队规范
URL
- 路径:kebab-case(/user-profile/settings)
- 查询参数:camelCase 或 snake_case(?userId=123 或 ?user_id=123)
转换规则
camelCase → snake_case
- 找到大写字母
- 大写字母前加下划线
- 全部转小写
例:getUserInfo → get_user_info
snake_case → camelCase
- 找到下划线
- 下划线后的字母转大写
- 删除下划线
例:get_user_info → getUserInfo
PascalCase → camelCase
首字母转小写,其余不变。
例:UserService → userService
camelCase → PascalCase
首字母转大写,其余不变。
例:userService → UserService
kebab-case → camelCase
- 找到短横线
- 短横线后的字母转大写
- 删除短横线
例:user-profile → userProfile
常见错误
混用规范
同一项目里 camelCase 和 snake_case 混用,显得混乱。选一个规范坚持用。
缩写处理
缩写要不要全大写?
- URL 还是 Url?userId 还是 userID?
- 惯例:两字母缩写全大写(ID、URL),三字母以上首字母大写(Http、Xml)
- 团队统一即可,关键是全项目一致
首字母缩写
HTTP、XML、URL 在 camelCase 里怎么写?
- 推荐:httpUrl、xmlParser(当普通单词处理)
- 也有人:HTTPUrl、XMLParser(保留缩写大写)
- 团队统一
数字处理
user2name 还是 user2Name?
- camelCase:user2Name(数字后单词首字母大写)
- snake_case:user2_name
用 DocsAll 转换大小写
大小写转换工具 支持:
- 全部大写 / 全部小写
- 首字母大写
- 驼峰 / 帕斯卡 / 下划线 / 短横线互转
- 句首大写
操作:
- 粘贴文本
- 选择转换类型
- 复制结果
浏览器端转换,文本不上传。
小结
命名规范核心记住:变量函数用驼峰或下划线(看语言),类用帕斯卡,常量用大写下划线,URL 用短横线。团队统一最重要。DocsAll 大小写转换工具 浏览器端运行,数据不外传。