資源描述:
《java編程規(guī)范92465》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、JAVA編程規(guī)范1.命名規(guī)范定義這個規(guī)范的目的是讓項目中所有的文檔都看起來像一個人寫的,增加可讀性,減少項目組中因為換人而帶來的損失。(這些規(guī)范并不是一定要絕對遵守,但是一定要讓程序有良好的可讀性)1.1.基本規(guī)則較短的單詞可通過去掉“元音”形成縮寫;較長的單詞可取單詞的頭幾發(fā)符的優(yōu)先級,并用括號明確表達式的操作順序,避免使用默認(rèn)優(yōu)先級。1.2.具體規(guī)則?Package的命名:應(yīng)該都是由一個小寫單詞組成。如:packagecom.neu.util?Class的命名:必須由大寫字母開頭而其他字母都
2、小寫的單詞組成,對于所有標(biāo)識符,其中包含的所有單詞都應(yīng)緊靠在一起,而且大寫中間單詞的首字母。如:?publicclassThisAClassName{}?Class變量的命名:必須用一個小寫字母開頭。后面的單詞用大寫字母開頭。如:userName,thisAClassMethod?StaticFinal變量的命名:應(yīng)該都大寫,并且指出完整含義。如:??/**DBConfigPATH**/???publicstaticfinalStringDB_CONFIG_FILE_PATH="com.neu.
3、etrain.dbconfig";?參數(shù)的命名:和變量的命名規(guī)范一致。?數(shù)組的命名:應(yīng)該總是用下面的方式來命名:??byte[]buffer;??而不是:bytebuffer[];?方法的參數(shù):使用有意義的參數(shù)命名,如果可能的話,使用和要賦值的字段一樣的名字:??SetCounter(intsize){????this.size=size;??}1.變量定義規(guī)范?去掉沒必要的公共變量。?構(gòu)造僅有一個模塊或函數(shù)可以修改、創(chuàng)建,而其余有關(guān)模塊或函數(shù)只訪問的公共變量,防止多個不同模塊或函數(shù)都可以修改、
4、創(chuàng)建同一公共變量的現(xiàn)象。?仔細(xì)定義并明確公共變量的含義、作用、取值范圍及公共變量間的關(guān)系。?明確公共變量與操作此公共變量的函數(shù)或過程的關(guān)系,如訪問、修改及創(chuàng)建等。?當(dāng)向公共變量傳遞數(shù)據(jù)時,要十分小心,防止賦與不合理的值或越界等現(xiàn)象發(fā)生。?防止局部變量與公共變量同名。?仔細(xì)設(shè)計結(jié)構(gòu)中元素的布局與排列順序,使結(jié)構(gòu)容易理解、節(jié)省占用空間,并減少引起誤用現(xiàn)象。?結(jié)構(gòu)的設(shè)計要盡量考慮向前兼容和以后的版本升級,并為某些未來可能的應(yīng)用保留余地(如預(yù)留一些空間等。?留心具體語言及編譯器處理不同數(shù)據(jù)類型的原則及有
5、關(guān)細(xì)節(jié)。?嚴(yán)禁使用未經(jīng)初始化的變量。聲明變量的同時對變量進行初始化。?編程時,要注意數(shù)據(jù)類型的強制轉(zhuǎn)換。1.代碼編寫格式?代碼樣式:代碼應(yīng)該用unix的格式,而不是windows的(比如:回車變成回車+換行)?文檔化:必須用javadoc來為類生成文檔。不僅因為它是標(biāo)準(zhǔn),這也是被各種java編譯器都認(rèn)可的方法。使用@author標(biāo)記是不被推薦的,因為代碼不應(yīng)該是被個人擁有的。?縮進:應(yīng)該是每行2個空格.不要在源文件中保存Tab字符.在使用不同的源代碼管理工具時Tab字符將因為用戶設(shè)置的不同而擴展
6、為不同的寬度.?如果你使用UltrEdit作為你的Java源代碼編輯器的話,你可以通過如下操作來禁止保存Tab字符,方法是通過UltrEdit中先設(shè)定Tab使用的長度室2個空格,然后用Format
7、TabstoSpaces菜單將Tab轉(zhuǎn)換為空格。?頁寬:應(yīng)該設(shè)置為80字符.源代碼一般不會超過這個寬度,并導(dǎo)致無法完整顯示,但這一設(shè)置也可以靈活調(diào)整.在任何情況下,超長的語句應(yīng)該在一個逗號或者一個操作符后折行.一條語句折行后,應(yīng)該比原來的語句再縮進2個字符.?{}對:{}中的語句應(yīng)該單獨作為一行.例如
8、,下面的第1行是錯誤的,第2行是正確的:?if(i>0){i++};//錯誤,{和}在同一行?if(i>0){?i++};??????//正確,{單獨作為一行,}語句永遠(yuǎn)單獨作為一行.?}語句應(yīng)該縮進到與其相對應(yīng)的{那一行相對齊的位置。?括號:左括號和后一個字符之間不應(yīng)該出現(xiàn)空格,同樣,右括號和前一個字符之間也不應(yīng)該出現(xiàn)空格.下面的例子說明括號和空格的錯誤及正確使用:?CallProc(AParameter);//錯誤CallProc(AParameter);//正確?不要在語句中使用無意義的括
9、號.括號只應(yīng)該為達到某種目的而出現(xiàn)在源代碼中。下面的例子說明錯誤和正確的用法:?if((I)=42){//錯誤-括號毫無意義if(I==42)or(J==42)then//正確-的確需要括號1.注釋規(guī)范?Java的語法與C++及為相似 //注釋一行 ?。牐?*......*/注釋若干行/**......*/注釋若干行,并寫入javadoc文檔?注釋要簡單明了。??StringuserName=null;//用戶?邊寫代碼邊注釋,修改代碼同時修改相應(yīng)的注釋,以保證注釋與代碼的一致性。?在