華為、中興等大廠規範的核心是消除歧義、統一團隊認知負荷。想象你要定義 1000 個不同類型的變量,如何命名才能一眼看出類型、作用域、業務含義?答案就是遵循統一約定。
| 類別 | 命名規則 | 示例 | 說明 |
|---|---|---|---|
| 類/接口 | UpperCamelCase | UserService, OrderDTO | 名詞,接口可加 I 前綴(可選) |
| 方法/局部變量/參數 | lowerCamelCase | getUserById, userName, maxCount | 動詞開頭(方法)、名詞(變量) |
| 常量 | UPPER_SNAKE_CASE | MAX_RETRY_COUNT, DEFAULT_TIMEOUT | static final 修飾 |
| 包名 | 全小写、域名反轉 | com.company.project.module | 無下劃線 |
| 類成員變量 | lowerCamelCase + 可選 m 前綴 | mUserName / userName | 團隊統一即可,Android 常用 m |
| 靜態變量 | lowerCamelCase / UPPER_SNAKE_CASE | sInstance / MAX_SIZE | 非常量用 s 前綴區分 |
userList、userMap、userSet、userQueueisValid、hasPermission、canEdit、shouldRetryonUserLoaded、fetchUserCallbacktimeoutMs、fileSizeKb、angleDegSave Actions:格式化、導入優化、靜態分析。SpotBugs + PMD + Checkstyle 強制檢查。int a, b, c; → ✅ int userId, orderId, productId;String str = "abc"; → ✅ String errorMessage = "abc";fileName 同時作為成員與局部變量 → ✅ 成員加 m 或 this. 區分