日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java中常见的代码冲突

發(fā)布時間:2023/12/3 java 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java中常见的代码冲突 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
在工作中,最近我對現(xiàn)有Java項目進行了代碼清理。 完成該練習(xí)后,我可以看到在代碼中一次又一次地發(fā)生了一組常見的代碼沖突。 因此,我想出了此類常見違規(guī)的清單,并與同行分享,以使人們有意識地提高代碼質(zhì)量和可維護性。 我在這里將清單分享給更多的聽眾。

列表不是按任何特定順序排列的,而是從所有代碼質(zhì)量工具(如CheckStyle , FindBugs和PMD)強制執(zhí)行的規(guī)則中得出的。

開始了!

在Eclipse中格式化源代碼并組織導(dǎo)入:

Eclipse提供了自動格式化源代碼和組織導(dǎo)入(從而刪除未使用的導(dǎo)入)的選項。 您可以使用以下快捷鍵來調(diào)用這些功能。

  • Ctrl + Shift + F –格式化源代碼。
  • Ctrl + Shift + O –組織導(dǎo)入并刪除未使用的導(dǎo)入。

您可以告訴Eclipse在保存文件時自動格式化和自動組織,而不必手動調(diào)用這兩個函數(shù)。 為此,在Eclipse中,轉(zhuǎn)到窗口->首選項-> Java->編輯器->保存操作 ,然后啟用在保存時執(zhí)行選定的操作,并選中格式化源代碼 + 組織導(dǎo)入避免方法中的多次返回(退出點):

在您的方法中,請確保只有一個出口點 。 在方法主體中不要在多個地方使用return。

例如,下面的代碼是不推薦的,因為它有一個以上的退出點(返回語句)。

private boolean isEligible(int age){if(age > 18){return true;}else{return false;} }

上面的代碼可以這樣重寫(當然,下面的代碼仍然可以改進,但是稍后會介紹)。

private boolean isEligible(int age){boolean result;if(age > 18){result = true;}else{result = false;}return result; }


簡化if-else方法:

我們編寫了幾種實用程序方法,這些方法采用一個參數(shù),檢查某些條件并根據(jù)條件返回一個值。 例如,考慮您在上一點中剛剛看到的isEligible方法。

private boolean isEligible(int age){boolean result;if(age > 18){result = true;}else{result = false;}return result; }

整個方法可以重寫為單個return語句,如下所示。

private boolean isEligible(int age){return age > 18; }


不要創(chuàng)建布爾,整數(shù)或字符串的新實例:

避免創(chuàng)建Boolean,Integer,String等新實例。例如,不要使用new Boolean(true) ,而應(yīng)使用Boolean.valueOf(true) 。 后面的語句具有與前一個語句相同的效果,但是它提高了性能。

在塊語句周圍使用花括號。

不要忘記在塊級語句周圍使用花括號,例如if , for , while 。 這樣可以減少代碼的歧義,并避免在修改塊級語句時引入新錯誤的機會。

不建議

if(age > 18)result = true; elseresult = false;

推薦的

if(age > 18){result = true; }else{result = false; }


在適用的情況下,將方法參數(shù)標記為最終參數(shù):

在適用的情況下,始終將方法參數(shù)標記為最終參數(shù)。 如果這樣做,不小心修改了參數(shù)的值,則會收到編譯器警告。 而且,它使編譯器可以更好地優(yōu)化字節(jié)碼。

推薦的

private boolean isEligible(final int age){ ... }


在大寫字母中命名公共靜態(tài)最終字段:

始終在大寫中命名公共靜態(tài)最終字段(也稱為常量 )。 這使您可以輕松地區(qū)分常量字段和局部變量。

不建議
public static final String testAccountNo = '12345678';

推薦的
public static final String TEST_ACCOUNT_NO = '12345678'; ,

將多個if語句合并為一個:

盡可能將多個if語句合并為一個。

例如下面的代碼;

if(age > 18){if( voted == false){// eligible to vote.} }

可以組合為單個if語句,例如:

if(age > 18 && !voted){// eligible to vote }


開關(guān)應(yīng)該具有默認值 :

始終為switch語句添加默認大小寫。

避免重復(fù)的字符串文字,而是創(chuàng)建一個常量:

如果必須在多個地方使用字符串,請避免將其用作文字。 而是創(chuàng)建一個String常量并使用它。

例如,從下面的代碼中,

private void someMethod(){logger.log('My Application' + e);........logger.log('My Application' + f); }

字符串文字“我的應(yīng)用程序”可以制成常量,并在代碼中使用。

public static final String MY_APP = 'My Application';private void someMethod(){logger.log(MY_APP + e);........logger.log(MY_APP + f); }


其他資源:

  • Java最佳實踐的集合。
  • 可用Checkstyle檢查的列表。
  • PMD規(guī)則集列表

參考:我們的JCG合作伙伴 Veera Sundar博客上的Java常見Java代碼違規(guī) 。


翻譯自: https://www.javacodegeeks.com/2012/09/common-code-violations-in-java.html

總結(jié)

以上是生活随笔為你收集整理的Java中常见的代码冲突的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。