首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

Java 命名規則詳細總結:源檔、套件、類別、常數、變數、方法全覆蓋

     編輯:Java 程式設計入門

一、Java 源檔命名

  • 檔案名必須與 public 類別名完全一致,包含大小寫
  • 單一源檔最多只能有一個 public 類別
  • 範例:UserService.java 對應 public class UserService

二、套件命名

  • 全小寫 ASCII 字母,單詞不分隔
  • 首段為反向域名:com、org、net、edu、gov 或國家代碼 cn、tw
  • 後續段依組織內部規範:專案、模組、層級
  • 範例:com.company.project.module.layer

三、類別與介面命名

四、常數命名

  • 全大寫,單詞以底線分隔
  • 語意完整:MAX_CONNECTION_POOL_SIZE、DEFAULT_TIMEOUT_MILLIS
  • 修飾符:static final

五、變數命名

5.1 一般變數

  • lowerCamelCase
  • 簡短且具體:userName、orderCount、isActive
  • 集合類型建議加複數:userList、idSet

5.2 慣用暫時變數

  • 迴圈計數器:i、j、k
  • 字元:c、ch
  • 範圍極小、生命週期極短的臨時變數

六、方法命名

  • lowerCamelCase
  • 首詞為動詞:getUserById、calculateTotal、isValid
  • Getter/Setter:getXxx/setXxx,布林型可用 isXxx

七、方法參數命名

  • 同一般變數規則
  • 優先與對應欄位同名,配合 this.field = field 區分

補充:進階命名慣例

1. 統一識別符風格

// 類別
public class OrderServiceImpl implements OrderService { }

// 方法/欄位/參數/區域變數
private List orderList;
public void processOrder(Order order) { }
for (int i = 0; i < orderList.size(); i++) { }

2. 套件匯入順序

package com.company.project.module;

import java.io.*;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Service;

import com.company.project.common.util.StringUtils;
import com.company.project.module.entity.Order;
  • java/javax 標準庫優先
  • 第三方庫其次
  • 本地專案包最後
  • 同組織內按字母序

3. 介面命名慣例

  • 能力型介面:Comparable、Runnable、Serializable
  • 服務型介面:UserService、OrderRepository(不加 I 前綴)

4. 元件命名(GUI/元件導向)

  • 完整描述 + 元件類型後綴
  • okButton、userTable、fileMenu、passwordField

5. 類別常用方法命名模式

類型規則範例
一般類別名詞,UpperCamelCaseUser、OrderService
異常類別以 Exception 結尾BusinessException、DataNotFoundException
介面名詞或形容詞,UpperCamelCase,常用 -able/-ible 後綴Serializable、Runnable、UserRepository
方法類型前綴範例
獲取器getgetName()、getCreatedAt()
布林判斷is / has / canisActive()、hasPermission()、canExecute()
設定器setsetName()、setEnabled()
業務動作動詞openFile()、addItem()、submitOrder()
建構子參數遞增Order()、Order(id)、Order(id, items)
toString固定public String toString() { ... }
main 測試類底部public static void main(String[] args) { ... }

6. 靜態常數欄位

  • 全大寫 + 底線:MIN_BALANCE、DEFAULT_DATE_FORMAT

7. 迴圈與陣列命名

  • 計數器:i、j、k 或 index
  • 陣列:int[] numbers、byte[] buffer、User[] users

總結:好名字的三個標準

  1. 可讀性:不需註解即可理解用途
  2. 可搜尋性:避免單字母、通用詞,便於 IDE 全域搜尋
  3. 一致性:專案內統一風格,配合工具強制檢查

「命名是軟體開發中最困難的兩件事之一(另一個是快取失效與 off-by-one 錯誤)。」—— Phil Karlton

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved