1. 为什么命名规范如此重要?
在我15年的编程生涯中,见过太多因为糟糕命名导致的灾难性后果。最惨痛的一次经历是接手一个电商项目,变量名全是a1、a2、tmp这种,结果光是理解业务逻辑就花了三周时间。Martin Fowler在《重构》中说得好:"好的代码本身就是最好的注释",而命名的艺术正是这其中的核心。
命名规范的本质是建立团队共识。当看到getUserInfo()时,任何开发者都能立即理解其用途;而看到getUI()则可能让人困惑。根据GitHub统计,项目维护阶段约60%的时间都花在理解现有代码上,良好的命名能显著降低这个成本。
特别提醒:永远不要用拼音命名!我曾见过dazhe代替discount的惨案,这种代码在跨国团队协作时简直就是灾难。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 四种主流命名规范详解
2.1 驼峰命名法(CamelCase)
这是Java等语言的标配,分为大驼峰(UpperCamelCase)和小驼峰(lowerCamelCase):
java复制// 大驼峰用于类名
class UserService {
// 小驼峰用于方法和变量
private int maxRetryCount = 3;
public void getUserInfo() {
// ...
}
}
关键规则:
- 类名首字母大写(大驼峰)
- 方法/变量首字母小写(小驼峰)
- 缩写词如HTTP应保持全大写:parseHTTPRequest
2.2 蛇形命名法(snake_case)
常见于Python、Ruby等语言,特别适合测试方法命名:
python复制def test_get_user_info_with_invalid_id():
# 测试用例
assert response.status_code == 404
常量命名推荐全大写:
java复制final int MAX_RETRY_COUNT = 5;
2.3 串式命名法(kebab-case)
主要用于URL和配置文件:
code复制/api/get-user-info
spring.application.name=order-service
