java方法命名forby
㈠ java中方法名按照命名規則可以隨意定義嗎
可以參照阿里的命名規則,這邊能夠比較快速的判斷該方法是做什麼用的:
i.獲取單個對象使用get-
ii.獲取多個對象使用list-
iii.獲取統計值使用count-
iv.插入使用insert-/save-
v.刪除使用remove-/delete-
vi.修改使用update-
vii.manage 中的方法和欄位不要加任何修飾符(public也不要加,保持代碼的整潔性)
viii.對於Service和Dao層的實現類,使用Impl後綴;
對於形容能力的介面,其實現類推薦使用-able後綴。 AbstractTranslate -- Translatable
㈡ Java標識符命名規則
經常在網上看到一些代碼對標識符的命名都不大規范,這次特地整理一下java中各類標識符的命名規則,java課程http://www.kmbdqn.cn/希望對大家有所幫助。
一、標識符命名規則
1、標識符用作給變數、方法和類命名。
2、以字母、下劃線「_」和「$」符開頭,後面可跟字母、下劃線「_」和「$」符或數字。
3、大小寫敏感。
4、應該使用有意義的名稱,達到見名知意的目的,並且長度無限制。
5、盡量不要使用中文。
6、不可以是true和false。true和false雖然不是關鍵字,但是有特殊用途。
7、避免與java關鍵字與java類庫的類名重名,java關鍵字一共有51個。
二、對於不同標識符使用不同的命名規則
1、包名:全部小寫,用」.」隔開,每一個點表示一級目錄,至少要有一級目錄。
(1)單級包:小寫。如:com
(2)多級包:小寫,用」.」隔開。
2、類或介面:所有單詞首字母大寫。(大駝峰法)
(1)一個單詞:首字母大寫。如:Student、People
(2)多個單詞:每個單詞首字母大寫。如:HelloWorld、ServerSocket
3、方法或變數:第一個單詞首字母小寫,從第二個單詞開始首字母大寫。(小駝峰法)
(1)一個單詞:首字母小寫。如:name、age
(2)多個單詞:第二個單詞首字母大寫。如:stuName、showTime
4、常量:全部大寫,單詞鍵以下劃線」_」隔開
(1)一個單詞:全大寫。如:PI、COUNT
(2)多個單詞:全大寫,並以」_」隔開。如:RESULT_OK、WINDOW_HIERARCHY_TAG
總之,遵循這個命名規范,不止有利於別人能夠更快速的讀懂我們的代碼,了解代碼中的成員,還能夠讓我們在實際開發中減少很多不必要的麻煩。
㈢ 使用Java作為程序語言時,好的命名規范有哪些
Package的命名
Package的名字應該都是由一個小寫單片語成。
Class的命名
Class的名字必須由大寫字母開頭而其他字母都小寫的單片語成
Class變數的命名
變數的名字必須用一個小寫字母開頭。後面的單詞用大寫字母開頭。
StaticFinal變數的命名
StaticFinal變數的名字應該都大寫,並且指出完整含義。
參數的命名
參數的名字必須和變數的命名規范一致。
數組的命名
數組應該總是用下面的方式來命名:
byte[]buffer;
而不是:
bytebuffer[];
方法的參數
使用有意義的參數命名,如果可能的話,使用和要賦值的欄位一樣的名字:
SetCounter(intsize){
this.size=size;
}
變數名
普通變數命名應該採用首字母小寫,其他字母首字母大寫的方式。
final static變數的名字應該都大寫,並且指出完整含義。如果一個常量名稱由多個單片語成,則應該用下劃線來分割這些單詞如。
NUM_DAYS_IN_WEEK MAX_VALU
如果需要對變數名進行縮寫時,一定要注意整個代碼中縮寫規則的一致性
context=ctx message=msg
通過在結尾處放置一個量詞,就可創建更加統一的變數
First(一組變數中的第一個) Last(一組變數中的最後一個) Next(一組變數中的下一個變數) Prev(一組變數中的上一個) Cur(一組變數中的當前變數)
無論什麼時候,均提倡應用常量取代數字、固定字元串。也就是說,程序中除0,1以外,盡量不應該出現其他數字。
索引變數:i、j、k等只作為小型循環的循環索引變數。
邏輯變數:避免用flag來命名狀態變數,用is來命名邏輯變數。
if(isClosed){ dosomeworks; return; }
數組
總是使用以下方式定義數組:
int[] arr = new int[10];
禁止使用C語言的是形式:
禁止 int arr[] = new int[10];
集合
數組或者容器推薦命名方式為名詞+s的方式,例如:
Listpersons = getPerson(); for(Person person : persons){ dosomeworks; }
泛型
應該盡量簡明扼要(最好是一個字母),以利於與普通的class或interface區分
Container中的Element應該用E表示;Map里的key用K表示,value用V;Type用T表示;異常用X表示
如果需要接收多個Type類型的參數,應該用鄰接T的大寫字母——例如S——來依次表示,當然也可以用T1, T2這樣的方式
public class HashSetextends AbstractSet{…} public class HashMapextends AbstractMap{…} public class ThreadLocal{…} public interface Functor{ T val() throws X; }
推薦的命名
1.當要區別介面和實現類的時候,可以在類的後面加上「Impl」。
interface Container class ContainerImpl
2.Exception類最好能用「Exception」做為類命名的結尾
DataNotFoundException InvalidArgumentException
3.抽象類最好能用「Abstract」做為類命名的開頭
AbstractBeanDefinition AbstractBeanFactory
4. Test類最好能用「Test」做為類命名的結尾
ContainerTest
5.簡稱與縮寫(不推薦使用)
cp代表colorPoint buf代表buffer off代表offset len代表length
除非是在循環中,否則一般不推薦使用單個字母作為變數名,不過也有例外,即約定俗成的單個字母
b代表byte c代表char d代表double e代表Exception f代表float i, j, k代表整數 l代表long o代表Object s代表String v代表某些類型的特定值
代碼風格
花括弧
花括弧統一採用以下格式:
if(bool experssion){ dosomework; }
除非花括弧中為空,不然任何情況下不能省略花括弧,並且花括弧必須換行,例如:
if(i==0){ return; } while(true) {}
以下寫法禁止出現:
禁止 if(i != 0) return; 禁止 if(i !=0) {return;}
括弧
括弧的前,後一個字元不需要空格,例如:
Person p = new Person(「Jack」, 17);
空格
逗號之後緊跟一個空格。
Person p = new Person(「Jack」, 16, 「China」);
二元操作符前後跟空格。
int i = a + b – c * d;
3. 一元操作符不需要空格,for語句分號後有空格。
for(int i = 0; I < 10; i++){ dosomework; }
4. 括弧前後不需要空格
類
類的定義結構按照順序為:
1) 常量
2) 成員變數
3) 構造函數
4) 成員函數
5) get和set方法
各個部分之間留出一個空行。
例如:
規范類模板:
class Person{ private final static int MAX_AGE = 100; private String firstname = 「Jack」; public Person(){} public Person(String firstname){ this.firstname = firstname; } public void doExercise(){ dosomeworks; run(); } private void run(){ dosomeworks; } public getFirstname(){ return firstname; } public setFirstname(String firstname){ this.firstname = firstname; } }
2.構造函數
1) 參數為空的構造函數出現在最上方
2) 有調用關系的構造函數相鄰
3) 參數盡量由少到多從上至下排序
3.使用成員變數
在類的方法內引用成員變數了命名沖突以外,不使用this。非特殊情況在類的方法內都不使用get和set方法存取成員變數。
4.方法
有調用關系的方法盡量放在相鄰的位置,public和private方法可以交叉放置。
5.get和set方法,所有需要公開的成員變數都要符合良好的javabean規范,提供get和set方法,盡量使用IDE工具自動生成。
Javadoc注釋
在每個程序的最開始部分,一般都用Javadoc注釋對程序的總體描述以及版權信息,之後在主程序中可以為每個類、介面、方法、欄位添加 Javadoc注釋,每個注釋的開頭部分先用一句話概括該類、介面、方法、欄位所完成的功能,這句話應單獨占據一行以突出其概括作用,在這句話後面可以跟隨更加詳細的描述段落。在描述性段落之後還可以跟隨一些以Javadoc注釋標簽開頭的特殊段落,例如上面例子中的@auther和@version,這些段落將在生成文檔中以特定方式顯示
㈣ Java中標識符定義的規則有哪些
Java中標識符定義的規則:
1、類和介面名。每個字的首字母大寫,含有大小寫。例如,MyClass,HelloWorld,Time等。
2、方法名。首字元小寫,其餘的首字母大寫,含大小寫。盡量少用下劃線。例如,myName,setTime等。這種命名方法叫做駝峰式命名。
3、常量名。基本數據類型的常量名使用全部大寫字母,字與字之間用下劃線分隔。對象常量可大小混寫。例如,SIZE_NAME。
4、變數名。可大小寫混寫,首字元小寫,字間分隔符用字的首字母大寫。不用下劃線,少用美元符號。給變數命名是盡量做到見名知義。
(4)java方法命名forby擴展閱讀:
java語言中規定標識符:
由大小寫字母、數字、下劃線、和美元符號組成,但不能以數字開頭。標識符不能使用java中的關鍵字。
㈤ Java建包命名規范
java 的包命名規范如下:
包的命名 (全部小寫,由域名定義)
Java包的名字都是由小寫單片語成。但是由於Java面向對象編程的特性,每一名Java程序員都 可以編寫屬於自己的Java包,為了保障每個Java包命名的唯一性,在最新的Java編程規范中,要求程序員在自己定義的包的名稱之前加上唯一的前綴。 由於互聯網上的域名稱是不會重復的,所以程序員一般採用自己在互聯網上的域名稱作為自己程序包的唯一前綴。
例如:net.frontfree.javagroup
類的命名 (單詞首字母大寫)
根據約定,Java類名通常以大寫字母開頭,如果類名稱由多個單片語成,則每個單詞的首字母均應為大 寫例如TestPage;如果類名稱中包含單詞縮寫,則這個所寫詞的每個字母均應大寫,如:XMLExample,還有一點命名技巧就是由於類是設計用來 代表對象的,所以在命名類時應盡量選擇名詞。
例如: Graphics
方法的命名 (首字母小寫,字母開頭大寫)
方法的名字的第一個單詞應以小寫字母作為開頭,後面的單詞則用大寫字母開頭。
例如:drawImage
常量的命名 (全部大寫 ,常加下劃線)
常量的名字應該都使用大寫字母,並且指出該常量完整含義。如果一個常量名稱由多個單片語成,則應該用下劃線來分割這些單詞。
例如:MAX_VALUE
㈥ 在JAVA中類中方法的命名規則
1.使用完整描述符來准確地描述變數、欄位或類。
例如,使用的名稱可以是 FirstName、GrandTotal 或 Corporate Customer。雖然像 x1、y1 或 fn 這樣的名稱較短容易輸入,但是它們並不提供任何信息指出它們所代表的內容。這樣對代碼的理解、維護和增強會造成一定困難。
2.使用適用於領域內的術語。
如果您的用戶將他們的客戶稱為顧客,則對這個類使用術語Customer來代替Client。許多開發人員曾經犯了這樣一個錯誤:當業界或領域中已存在更貼切的術語時,他們還冥思苦想,准備為一些概念創建通用術語。
3.巧妙節儉地使用縮寫。
這表示您應該維護一份標准短格式(縮寫)的列表,應該明智地選擇它們,並在使用時保持一貫性。例如,如果要使用字 arithmetic 的短格式, 選擇 ar、ari 或 art 中的一個,記錄下所選的縮寫(到底是哪個並不重要),並只使用這一個。
4.使用大小寫混合增強名稱的可讀性。
通常應該使用小寫字母,但是將類名和介面名稱的第一個字母寫成大寫,將所有非起始單詞的第一個字母也寫成大寫。
5.將標准首字母縮寫詞的第一個字母大寫。
名稱會經常包含標准縮寫,如 sql 表示「Standard Query Language」。諸如表示屬性的 sqlDatabase 或表示類的 sQLDatabase 等名稱比sQLDatabase 和SQLDatabase 更便於閱讀。
6.避免長型名稱(最大 15 個字元比較合適)。
雖然類名 AllImplemented IterfacesAndSubclass 可能是個比較好的類名(當然,在此示例中有些誇張),但是這個名稱顯然太長,應該把它重命名為較短的名稱才好。
7.避免名稱過於相似或僅在大小寫方面有區別。
不應該同時使用變數名 myObject 和 myObjects,也不應該同時使用 myOraDatabase 和 anORADatabase。
問:我想使用Tab鍵在輸入欄位間移動,我該怎麼辦?
答:當用戶必須鍵入許多文本時,這一功能特別有用。下面的程序將會告訴你如何讓用戶在輸入欄位間切換輸入焦點:
public boolean keyDown(Event evt,int key)
{
if ((char)key=='\t')
{
Component current_field=(Component)evt.target;
if (current_filed!=last_field)
current_field.nextFocus();
else
first_field.requestFocus();
return true;
}
}
註:當最後組件last_field獲得焦點時按Tab鍵,會將焦點移回到第一個組件first_field上。