命名是编码中最重要的事情之一,但常常被忽视。易于阅读的代码通常始于清晰的名称——无论是变量、函数、文件还是文件夹。以下是一些专业开发人员常用的技巧和通用实践。
1. 变量命名
- 使用描述性但简短的名称
- 好的:
userCount
,emailList
,isLoggedIn
- 坏的:
x
,temp
,a1
- 好的:
- 在JavaScript和PHP中使用camelCase
let userCount = 10;
let isActive = true;
- 在Python中使用snake_case
user_count = 10
is_active = True
- Go 通常使用 camelCase 来命名局部变量,使用 PascalCase 来命名导出变量
var userCount int
var UserName string // 可以被导出
2. 函数/方法命名
- 使用动词 以便清晰表达其功能
- 示例:
calculateTotal()
,sendEmail()
,fetchUserData()
- 示例:
- 在 JS、PHP、Go(本地)中使用 CamelCase
function getUserInfo($id) { ... }
function sendEmail(to, subject) { ... }
func fetchUserData(id int) User { ... }
- Python中的蛇形命名法(snake_case)
def fetch_user_data(user_id):
pass
- 不要太长,但也不要太抽象
- 差:
f()
好:
calculateInvoiceTotal()
3. 常量命名
- 通常使用全大写并用下划线
_
分隔,在所有语言中都是如此:
define('MAX_LOGIN_ATTEMPTS', 5);
const PI = 3.14;
const MAX_LOGIN_ATTEMPTS = 5;
要求:
1. 保持技术术语的准确性和一致性
2. 保持HTML格式和代码块不变
3. 使用流畅的中文表达
4. 保持原文的专业性和技术性
5. 不要添加或删除内容
MAX_LOGIN_ATTEMPTS = 5
const MaxLoginAttempts = 5 // Go 通常使用 PascalCase 来命名导出的常量
4. 文件命名
- 使用与内容/模块相符的文件名。
- 避免使用空格,使用各自语言的习惯:
语言 | 文件约定 |
---|---|
PHP | UserController.php (类使用PascalCase) |
JS/TS | userController.js 或 user_controller.js |
Python | user_controller.py (snake_case) |
Go | user_controller.go (小写,使用下划线) |
- 对于表示单个实体的模块,使用单数名词,如有必要,对于集合使用复数。
5. 文件夹/目录命名
- 文件夹应为小写且具有描述性:
- 避免使用过短的缩写:
/srv
→ 更好使用/services
- 保持一致
文件夹结构通常遵循项目架构:
语言 | 示例结构 |
---|---|
Go | /cmd , /internal , /pkg , /tests |
JS/TS | /src , /lib , /tests , /config |
Python | /project_name , /tests , /configs , /scripts |
PHP | /app/Controllers , /app/Models , /app/Services |
6. 其它通用建议
- 保持一致
- 选择一种约定并在整个项目中使用。不要无理由地混合使用 camelCase 和 snake_case。
- 简短但清晰
- 名字不要太长,又要足够描述性,让人一看就懂其含义。
- 使用领域语言
- 变量或函数名最好贴合业务领域。
- 例如:invoiceTotal 比 sum1 更直观。
- 必要时加前缀/后缀
- 布尔值 →
isLoggedIn
,hasPermission
- 数组/列表 →
userList
,emailArray
- 导出与局部区别
- Go:需导出的用 PascalCase,仅局部使用的用 camelCase。
- JS/TS:无硬性规定,但通常统一用 camelCase。
💡 快速总结: 语言 vs 约定
元素 | JS/TS | PHP | Python | Go |
---|---|---|---|---|
变量 | camelCase | camelCase | snake_case | camelCase / PascalCase (导出) |
函数 | camelCase | camelCase | snake_case | camelCase / PascalCase (导出) |
常量 | ALL_CAPS | ALL_CAPS | ALL_CAPS | PascalCase (导出) |
文件 | camelCase / snake_case | PascalCase | snake_case | 小写 + 下划线 |
文件夹 | 小写 | 小写 | 小写 | 小写 |
通过遵循这些约定,代码变得更加 易读、一致且易于维护,无论使用何种编程语言。