java面向國際化項目開發(fā)需遵循的命名規(guī)范
前言
筆者最近幫助一些朋友應聘遠程工作(一般都是一些國外的項目),國外的項目負責人一般都會要求提供github賬號或者一些源代碼,很多朋友在這一關(guān)就被篩選掉了,其中不乏一些我認為技術(shù)非常厲害的行業(yè)大牛,他們都研發(fā)過很多的大型項目,經(jīng)驗與技術(shù)實力都非常不錯。那究竟是為什么呢?我經(jīng)過仔細的研究,發(fā)現(xiàn)他們都有一個共同點,就是命名規(guī)范不太嚴謹。我對這些在應聘遠程項目第一關(guān)就被篩選掉了的程序員做了一個問卷調(diào)查:你都知道哪些java命名規(guī)范?最終結(jié)果顯示:
- 類的首字母要大寫,使用駝峰標識
- 變量首字母小寫,使用駝峰標識
- 常量字母全部大寫,下劃線分隔
- 使用英文單詞,不要使用拼音
在很多的java程序員看來能做到這些,就已經(jīng)是很規(guī)范的命名方式了,究竟還有哪些不足之處?筆者總結(jié)了一下java開發(fā)中的最常用的一些命名規(guī)范,如果有不足之處,還請各位朋友不吝賜教!如果您覺得本文對您有幫助,期待您能幫忙關(guān)注、轉(zhuǎn)發(fā)!
一、package命名規(guī)范
軟件項目的包名稱應該是由您的公司的域名的倒序,再加上您的項目的名稱,均使用小寫字母,不能包含其他符號??梢栽谧詈筇砑影陌姹荆缦聢D實例所示:
org.example.aprojectname org.example.aprojectname.innerpkg org.example.aprojectname.innerpkg.anotherpkg org.example.aprojectname.innerpkg2 org.example.anotherproject org.example.anotherproject.v2
二、Class命名規(guī)范
類名必須是一個 名詞,使用駝峰命名方式,首字母應大寫,例如HashMap。應該可以從類名中推斷出它大概會包含什么樣的函數(shù)和變量。例如:
class Student{} class ArrayList{} class HashMap{} class ComputerEngineer{}
三、Interface接口
接口名稱應盡量使用 形容詞。有時也可以是名詞,如:List或Map。與類的命名規(guī)范一樣,使用駝峰命名,首字母應大寫。如下:
interface Cloneable{} interface AutoCloseable{} interface PreparedStatement{} interface Engineer{}
接口通常代表一類對象的總稱。形容詞“會跑的”可以是一個接口名稱,實現(xiàn)類可以是人、狗、貓。
而使用名詞需要具有一定的概括性,“爪子”比“貓爪”更像是一個接口的名字。
四、變量
變量盡量是簡短而且有意義的名詞,遵循駝峰命名,首字母小寫。并且不要使用劃線('_
')或美元符號'$
'字符。
- 在for循環(huán)中使用的計數(shù)變量,可以是i,j,k,m和n,它們也常用于整數(shù)
- 對于 布爾值,通常開頭應該是is或has。
- 可以使用Of串聯(lián)多個名詞
- 可以使用形容詞修飾名詞
int countOfCustomer; //Of串聯(lián) float averageInterest; //形容詞修飾名詞 long timeInMillisecond, daysInYear; //時間 boolean isEngineer, isCompleted, hasSubmitted; //布爾類型
五、常量
常量也是程序的重要組成部分。也要使用名詞,或者形容詞修飾的名詞。全部字母大寫,使用下劃線分隔單詞。
public static final float PI = 3.14; static int CREATED_ON_YEAR = 2019;
六、方法
方法名稱要使用動詞,并且應該從名稱中可以推斷出方法的功能,盡量簡短。使用駝峰標志命名。通常, get
和 set
用于分別獲取數(shù)據(jù)和設置數(shù)據(jù)。對于布爾值,方法名稱應與與變量名稱相同。
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通常被用于映射關(guān)系。請勿使用多字符。
public <T> void print(T t); interface List<E>{} class HashMap<K, V> {};
以上就是java開發(fā)國際化項目需遵循的命名規(guī)范的詳細內(nèi)容,更多關(guān)于java國際化命名規(guī)范的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
關(guān)于scanner.nextInt()等next()和scanner.nextIine()連用注意事項
這篇文章主要介紹了關(guān)于scanner.nextInt()等next()和scanner.nextIine()連用注意事項,具有很好的參考價值,希望對大家有所幫助。2023-04-04SpringBoot2整合Drools規(guī)則引擎及案例詳解
這篇文章主要介紹了SpringBoot2整合Drools規(guī)則引擎及案例詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-10-10解決Springboot項目啟動后自動創(chuàng)建多表關(guān)聯(lián)的數(shù)據(jù)庫與表的方案
這篇文章主要介紹了解決Springboot項目啟動后自動創(chuàng)建多表關(guān)聯(lián)的數(shù)據(jù)庫與表的方案,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03