一 命名規(guī)則
1)包: 命名應(yīng)該都是名詞或名詞性詞組,全部小寫,單詞之間用“.”分開,一般使用本公司網(wǎng)站域名的逆序后跟具體的軟件內(nèi)部模塊名
包命名舉例: package com.sun.JAVA; package com.baidu.java;
2)類: 名詞或名詞性詞組,每個單詞首字母大寫;一般不使用縮寫,除非其縮寫更通用和便于理解,大駝峰命名法,每一個單字的首字母都采用大寫字母,如html;當要區(qū)別接口和實現(xiàn)類的時候,可以在類的后面加上"Impl",例如:interface Container與class ContainerImpl;Exception類用"Exception"做為類命名的結(jié)尾,例如:DataNotFoundException;抽象類用"Abstract"做為類命名的開頭,例如:AbstractBeanDefinition,AbstractBeanFactory;Test類最好能用"Test"做為類命名的結(jié)尾。例如:ContainerTest
類命名舉例:class Person; class SpringRain
3)接口: 同"類"的命名規(guī)則
接口命名舉例:interface Runner;
4)方法: 動詞或動詞性詞組,首字母小寫,第二個及以后的單詞首字母大寫,小駝峰命名法,第一個單字以小寫字母開始,第二個單字的首字母大寫;
方法命名舉例:run(); displayInformation();
5)變量: 名詞或名詞性詞組,首字母小寫,第二個及以后的單詞首字母大寫;
不提倡使用下畫線"_“和美元符”$"作為變量開頭;單詞間可以使用下畫線分隔;變量名不宜過長但也應(yīng)有意義,除非是臨時使用(例如只涉及幾行代碼)后即丟棄的情況,不建議使用單個字母做變量名,常用的臨時使用的變量名包括表示整數(shù)的i,j,k,m,n和表示字母的c以及表示異常對象的e等。
變量命名舉例:int age; int student_age; String studentName; Exception e;
6)常量: 每一個單詞都要大寫,單詞之間用"_"分開。
常量命名舉例:final static int MIN_WIDTH = 4;final static int DEFAULT_CONTAINER_SIZE = 20;
7)文件的命名: java源程序文件以.java結(jié)尾,編譯后的文件以.class結(jié)尾。例如:Container.java,Container.class。
總結(jié):類名首字母應(yīng)該大寫。字段、方法以及對象(句柄)的首字母應(yīng)小寫。對于所有標識符,其中包含的所有單詞都應(yīng)緊靠在一起,而且大寫中間單詞的首字母。若在定義中出現(xiàn)了常數(shù)初始化字符,則大寫static final基本類型標識符中的所有字母。這樣便可標志出它們屬于編譯期的常數(shù)。 Java包(Package)屬于一種特殊情況:它們?nèi)际切懽帜福幢阒虚g的單詞亦是如此。對于域名擴展名稱,如com,org,net或者edu等,全部都應(yīng)小寫。
二 文件組織
1. 一個文件由被空行分割而成的段落以及標識每個段落的可選注釋共同組成。超過2000行的程序難以閱讀,所以一個java程序文件中的代碼行數(shù)不能超過2000行,除非有特殊原因。每個Java源文件都包含一個單一的公共類或接口。若私有類和接口與一個公共類相關(guān)聯(lián),可以將它們和公共類放入同一個源文件。公共類必須是這個文件中的第一個類或接口。
Java源文件還遵循以下規(guī)則,這個規(guī)則規(guī)定了java程序段落的順序:
- 開頭注釋
- 包和引入語句
- 類和接口聲明
2. 在一個Java類中,各部分順序:
1)屬性聲明
2)構(gòu)造方法聲明
3)static語句
4)普通方法聲明
5)main方法聲明
6)內(nèi)部類的聲明
總結(jié):一般一個完整的java文件內(nèi)容如下:
1)包的定義
2)impot類(輸入包的順序、避免使用*)輸入包應(yīng)該按照java..,javax..,org.. ,com..的順序import;在import的時候不應(yīng)該使用 (例如: java.util.)
3)類或接口的定義
4)靜態(tài)變量定義,按public,protected,private順序
5)實例變量定義,按public,protected,private順序
6)構(gòu)造方法
7)方法定義順序按照public方法(類自己的方法),實現(xiàn)接口的方法,重載的public方法,受保護方法,包作用域方法和私有方法。
注意:一般類中每個方法的代碼行數(shù)不要超過100行。
三 分隔和縮進
1. 使用空行
在下述情況下使用單行的空白行來分隔:
1)在方法之間
2)在方法內(nèi)部代碼的邏輯段落小節(jié)之間
3)在方法中聲明局部變量之后,具體的Java語句之前
4)在注釋行之前
5)在同一個源文件中定義的多個類/接口之間使用雙行的空白行來分隔
2. 使用空格符
除正常的成分之間以空格符分隔名(如數(shù)據(jù)類型和變量名之間),在下述情況下也應(yīng)使用一個空格符來分隔:
1)運算符和運算符之間,如: c = a + b;
2)在參數(shù)列表中的逗號后面,如: void m1(int year, int month) {}
3)在if,for,while待語句之后 如: if (a > b) {}