分析總結Java中常見的違規編碼

來源:互聯網
上載者:User

  一、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 isEligible(int age){

  2. if(age > 18){

  3. return true;

  4. }else{

  5. return false;

  6. }

  7.}

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

  1.private boolean isEligible(int age){

  2. boolean result;

  3. if(age > 18){

  4. result = true;

  5. }else{

  6. result = false;

  7. }

  8. return result;

  9.}

  三、簡化if-else

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

  1.private boolean isEligible(int age){

  2. boolean result;

  3. if(age > 18){

  4. result = true;

  5. }else{

  6. result = false;

  7. }

  8. return result;

  9.}

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

  1.private boolean isEligible(int age){

  2.3.return age > 18;

  4.5.}

  四、不要給Boolean, Integer或者String建立新的執行個體

  避免給Boolean,Integer,String建立新的執行個體。比如,使用new Boolean(true),Boolean,valueOf(true)。修改後的語句與之前的效果基本相同,除了在效能上有所提升。

  五、使用大括弧模組語句

  永遠別忘了使用大括弧模組語句比如if、for、while.這樣做的好處是當你在修改模組層級語句時減少了模糊代碼並且避免引進bug的機會。

  不建議:

  1.if(age > 18)

  2. result = true;

  3.else

  4. result = false;

  建議:

  1.if(age > 18){

  2. result = true;

  3.}else{

  4. result = false;

  5.}

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

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

  建議:

  private boolean isEligible(final 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.if(age > 18){

  2. if( voted == false){

  3. // eligible to vote.

  4. }

  5.}

  合并成單一的if語句:

  1.if(age > 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.log(MY_APP + e);

  5. …

  6. …

  7. logger.log(MY_APP + f);

  8.}

原文出自【位元網】,轉載請保留原文連結:http://soft.chinabyte.com/database/411/12432911.shtml

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.