fkjava

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            49 Posts :: 0 Stories :: 0 Comments :: 0 Trackbacks

          Java中常見的違規編碼

           

           一、Eclipse編譯器提供源代碼格式輸入

              Eclipse提供自動源碼格式選項,并且組織輸入(刪除未使用的代碼)。你可以使用下面的這些快捷鍵進行操作。

              Ctrl + Shift + F--源代碼格式

              Ctrl + Shift + O--組織輸入并刪除未使用的代碼

              代替手動調用這兩個函數,只需根據Eclipse自動格式和自動組織選項,可以隨時保存文件。

              操作步驟,在Eclipse中進入Window -> Preferences -> Java -> Editor -> Save Actions,然后以選定的方式保存,最后檢查Format source code + Organize imports.

              二、避免多個返回(退出點)

              依照你的方法,確保只有一個退出點。不要在同一個地方或多個地方使用返回。比如,下面的代碼,NOT RECOMMENDED(不建議),這是因為有多個退出點(返回語句)。

              1.private boolean isEligibleint age{

              2. ifage > 18{

              3.    return true;

              4. }else{

              5.    return false;

              6. }

              7.}

              下面的代碼有所提升,這是更高版本的。

              1.private boolean isEligibleint age{

              2. boolean result;

              3. ifage > 18{

              4.    result = true;

              5. }else{

              6.    result = false;

             7. }

              8. return result;

              9.}

          三、簡化if-else

              我寫了幾個實用的方法作為參考,檢查語句條件并且基于該條件返回值。比如,考慮到isEligible方法,正如你之前所看到的:

              1.private boolean isEligibleint age{

              2. boolean result;

              3. ifage > 18{

              4.    result = true;

              5. }else{

              6.    result = false;

              7. }

              8. return result;

              9.}

              整個方法以一個單一的return語句重新編寫:

              1.private boolean isEligibleint age{

              2.3.return age > 18;

              4.5.}

              四、不要給Boolean, Integer或者String創建新的實例

              避免給Boolean,Integer,String創建新的實例。比如,使用new Booleantrue),Boolean,valueOftrue)。修改后的語句與之前的效果基本相同,除了在性能上有所提升。

              五、使用大括號模塊語句

              永遠別忘了使用大括號模塊語句比如ifforwhile.這樣做的好處是當你在修改模塊級語句時減少了模糊代碼并且避免引進bug的機會。

              不建議:

              1.ifage > 18

              2. result = true;

              3.else

              4. result = false;

              建議:

              1.ifage > 18{

              2. result = true;

              3.}else{

              4. result = false;

              5.}

              六、以final類型標記方法參數,任何時候都適用

              請記住,以final類型標記方法參數,任何時候都適用。這樣做的好處在于當你不小心修改參數值時,編譯器會給你警告,同時它還能以更好的方式優化編譯器代碼字節。

              建議:

              private boolean isEligiblefinal int age{ }

              七、在UPPERCASE中命名public static final字段

              UPPERCASE中命名public static final字段(通常也被稱之為常量)。這個可以讓你輕松區分常量字段和局部變量之間的不同。

              不建議:

              public static final String testAccountNo = "12345678";

              建議:

              public static final String TEST_ACCOUNT_NO = "12345678";,

              八、組合成單一的if語句

              在盡可能多的情況下,把多個if語句組合成單一的if語句,比如下面的代碼:

              1.ifage > 18{

              2. if voted == false{

              3.    // eligible to vote.

              4. }

              5.}

              合并成單一的if語句:

              1.ifage > 18 && !voted{

              2. // eligible to vote

              3.}

              九、Switch應該有default

              始終給Switch語句添加default.

              十、使用常量來避免重復定義相同的字符串值

              如果你在多個地方必須使用字符串,那么使用常量來避免重復定義擁有相同值的字符串。

              比如,看下面的代碼:

              1.private void someMethod(){

              2. logger.log"My Application" + e);

              3. …

              4. …

              5. logger.log"My Application" + f);

              6.}

              string literal"我的應用"可以作為常量并且能在代碼中使用。

              1.public static final String MY_APP = "My Application";

              2.

              3.private void someMethod(){

              4. logger.logMY_APP + e);

              5. …

              6. …

              7. logger.logMY_APP + f);

          8.}

              您正在看的文章來自瘋狂軟件教育中心 www.fkjava.org

              信息咨詢:Q564205990               星老師

          posted on 2012-09-21 14:45 瘋狂軟件 閱讀(189) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 汶川县| 西丰县| 昌邑市| 云南省| 洛川县| 兴山县| 昌吉市| 扶沟县| 柳州市| 肃南| 敖汉旗| 繁昌县| 沂南县| 闻喜县| 岳西县| 涞源县| 北京市| 米泉市| 长沙县| 开化县| 宣武区| 南川市| 小金县| 朝阳县| 九龙县| 霍州市| 迭部县| 南乐县| 磐安县| 泸溪县| 大安市| 水城县| 尼勒克县| 临沭县| 韶关市| 垫江县| 宜宾市| 新巴尔虎左旗| 广宗县| 江华| 沧州市|