首頁 > 軟體

java面向國際化專案開發需遵循的命名規範

2022-03-15 19:00:07

前言

筆者最近幫助一些朋友應聘遠端工作(一般都是一些國外的專案),國外的專案負責人一般都會要求提供github賬號或者一些原始碼,很多朋友在這一關就被篩選掉了,其中不乏一些我認為技術非常厲害的行業大牛,他們都研發過很多的大型專案,經驗與技術實力都非常不錯。那究竟是為什麼呢?我經過仔細的研究,發現他們都有一個共同點,就是命名規範不太嚴謹。我對這些在應聘遠端專案第一關就被篩選掉了的程式設計師做了一個問卷調查:你都知道哪些java命名規範?最終結果顯示:

  • 類的首字母要大寫,使用駝峰標識
  • 變數首字母小寫,使用駝峰標識
  • 常數字母全部大寫,下劃線分隔
  • 使用英文單詞,不要使用拼音

在很多的java程式設計師看來能做到這些,就已經是很規範的命名方式了,究竟還有哪些不足之處?筆者總結了一下java開發中的最常用的一些命名規範,如果有不足之處,還請各位朋友不吝賜教!如果您覺得本文對您有幫助,期待您能幫忙關注、轉發!

一、package命名規範

軟體專案的包名稱應該是由您的公司的域名的倒序,再加上您的專案的名稱,均使用小寫字母,不能包含其他符號。可以在最後新增包的版本,如下圖範例所示:

org.example.aprojectname
org.example.aprojectname.innerpkg
org.example.aprojectname.innerpkg.anotherpkg
org.example.aprojectname.innerpkg2
org.example.anotherproject
org.example.anotherproject.v2

二、Class命名規範

類名必須是一個 名詞,使用駝峰命名方式,首字母應大寫,例如HashMap。應該可以從類名中推斷出它大概會包含什麼樣的函數和變數。例如:

class Student{}
class ArrayList{}
class HashMap{}
class ComputerEngineer{}

三、Interface介面

介面名稱應儘量使用 形容詞。有時也可以是名詞,如:List或Map。與類的命名規範一樣,使用駝峰命名,首字母應大寫。如下:

interface Cloneable{}
interface AutoCloseable{}
interface PreparedStatement{}
interface Engineer{}

介面通常代表一類物件的總稱。形容詞“會跑的”可以是一個介面名稱,實現類可以是人、狗、貓。

而使用名詞需要具有一定的概括性,“爪子”比“貓爪”更像是一個介面的名字。

四、變數

變數儘量是簡短而且有意義的名詞,遵循駝峰命名,首字母小寫。並且不要使用劃線('_')或美元符號'$'字元。

  • 在for迴圈中使用的計數變數,可以是i,j,k,m和n,它們也常用於整數
  • 對於 布林值,通常開頭應該是is或has。
  • 可以使用Of串聯多個名詞
  • 可以使用形容詞修飾名詞
int countOfCustomer;   //Of串聯
float averageInterest;   //形容詞修飾名詞
long timeInMillisecond, daysInYear;    //時間
boolean isEngineer, isCompleted, hasSubmitted;   //布林型別

五、常數

常數也是程式的重要組成部分。也要使用名詞,或者形容詞修飾的名詞。全部字母大寫,使用下劃線分隔單詞。

public static final float PI = 3.14;
static int CREATED_ON_YEAR = 2019;

六、方法

方法名稱要使用動詞,並且應該從名稱中可以推斷出方法的功能,儘量簡短。使用駝峰標誌命名。通常, get 和 set 用於分別獲取資料和設定資料。對於布林值,方法名稱應與與變數名稱相同。

void print(Object obj);
void remove(Obejct obj);
Object update();
int getCountOfCustomer();//getter
void setCountOfCustomer(int countOfCustomers);//setter
boolean isUserAdmin(User user);  //布林型別

七、泛型

使用單個大寫字母, T使用的比較廣泛。E通常被用於集合元素,K和V通常被用於對映關係。請勿使用多字元。

public <T> void print(T t);
interface List<E>{}
class HashMap<K, V> {};

以上就是java開發國際化專案需遵循的命名規範的詳細內容,更多關於java國際化命名規範的資料請關注it145.com其它相關文章!


IT145.com E-mail:sddin#qq.com