计算机领域中所有主流的命名风格(Naming Styles)完整列表,按使用频率排序并附典型场景说明:
一、基础命名风格(8种核心类型)
命名风格 | 格式示例 | 主要应用场景 | 特点 |
---|---|---|---|
1. 蛇形命名 | user_name |
Python变量、SQL字段、Linux文件系统 | 全小写 + 下划线分隔 |
2. 小驼峰命名 | userName |
Java/JS变量、JSON键名、Swift属性 | 首字母小写 + 单词首字母大写 |
3. 大驼峰命名 | UserName |
Java/C#类名、TypeScript接口、Go类型 | 所有单词首字母大写 |
4. 烤肉串命名 | user-name |
HTML属性、CSS类名、URL slug | 全小写 + 连字符分隔 |
5. 常量命名 | MAX_SIZE |
全局常量、环境变量、预处理器宏 | 全大写 + 下划线分隔 |
6. 匈牙利命名 | strUserName |
Win32 API(历史)、旧版C++ | 类型前缀 + 小驼峰 |
7. 点分隔命名 | user.profile.email |
命名空间、配置路径、对象属性访问 | 层级结构 + 点连接符 |
8. 大写蛇形 | USER_NAME |
汇编语言、COBOL变量、旧系统常量 | 全大写 + 下划线(无类型前缀) |
二、特殊场景命名风格(6种专用类型)
命名风格 | 格式示例 | 典型应用场景 | 规则说明 |
---|---|---|---|
9. 逆域名命名 | com.company.project |
Java包名、Android应用ID、iOS Bundle ID | 从顶级域名开始反向书写 |
10. 首字母缩写 | XMLHttpRequest |
技术术语缩写(XML/HTTP) | 全大写或首字母大写 |
11. 单字母命名 | i, j, k |
循环计数器、数学公式、lambda参数 | 极简上下文 |
12. 双下划线前缀 | __internal_var |
Python魔术方法、C++编译器保留 | 系统级保留标识 |
13. 前缀分组命名 | btn_submit |
UI组件(btn_/lbl_/txt_)、CSS BEM | 功能类型前缀 + 蛇形/烤肉串 |
14. 骆驼蛇混合 | AWS_AccessKeyId |
云服务SDK(AWS/Azure) | 常量部分大写 + 小驼峰 |
三、新兴命名风格(4种现代变体)
命名风格 | 格式示例 | 应用场景 | 创新点 |
---|---|---|---|
15. 中缀表达式命名 | user->profile->email |
PHP箭头语法、C++智能指针 | 符号连接代替分隔符 |
16. 表情符号命名 | 🚀launch_config |
命令行工具别名、测试数据标记 | Unicode增强可读性 |
17. 零分隔命名 | username |
域名、短标识符、微服务名称 | 无分隔符(依赖大小写敏感) |
18. 链式调用命名 | select().from().where() |
Fluent API设计、Builder模式 | 方法链 + 动词开头 |
四、领域特定命名风格(按技术栈分类)
数据库系统
风格 | 示例 | 数据库 |
---|---|---|
全大写蛇形 | EMPLOYEE_ID |
Oracle传统规范 |
方括号转义 | [Order Date] |
SQL Server保留字 |
反引号转义 | `user` | MySQL保留字 |
前端开发
风格 | 示例 | 框架 |
---|---|---|
$前缀响应式 | $refs |
Vue.js |
钩子函数命名 | useState() |
React Hooks |
组件名多单词 | <DatePicker/> |
Vue/React规范 |
系统编程
风格 | 示例 | 语言 |
---|---|---|
下划线后缀 | type_t |
C/C++类型定义 |
全小写无分隔 | getchar |
C标准库 |
感叹号后缀 | save! |
Ruby危险方法 |
五、命名风格转换对照表
原始格式 | → 蛇形命名 | → 小驼峰 | → 常量格式 |
---|---|---|---|
UserName |
user_name |
userName |
USER_NAME |
order-item |
order_item |
orderItem |
ORDER_ITEM |
HTTPResponse |
http_response |
httpResponse |
HTTP_RESPONSE |
MAX_BUFFER |
max_buffer |
maxBuffer |
MAX_BUFFER |
六、选择命名风格的黄金原则
-
语言主导
- Python:强制蛇形命名 (
model.save()
) - Java:强制驼峰命名 (
userService.updateProfile()
)
- Python:强制蛇形命名 (
-
平台约束
- SQL:蛇形命名兼容大小写敏感 (
SELECT user_id
) - JSON:小驼峰保证JS兼容性 (
{"orderId": 1001}
)
- SQL:蛇形命名兼容大小写敏感 (
-
可读性优先
- 超过3个单词:推荐蛇形命名 (
customer_payment_history
) - 布尔值:前缀增强语义 (
is_valid
,hasPermission
)
- 超过3个单词:推荐蛇形命名 (
-
历史兼容
- 旧系统:保留匈牙利命名 (
lpszFileName
- Win32) - 新项目:禁用匈牙利命名
- 旧系统:保留匈牙利命名 (
终极建议:在项目启动时通过
.editorconfig
和eslintrc
等工具强制统一规范。例如:// .eslintrc.json { "rules": { "camelcase": ["error", { "properties": "always" }] // 强制小驼峰 } }
可根据具体技术栈(如:Python + PostgreSQL + React)提供定制化命名规范方案。