1.在塊級語句周圍添加花括號
用{curly braces}包裝塊級語句通常是一個好習慣。 但是,即使在塊中只有一個語句,某些開發人員還是不希望用{}來包裝它們。 但是,如果您這樣做,Checkstyle將會抱怨。
如果您要更改此設置,
if(condition) doSomething;
對此:
if(condition){doSomething();
}
Eclipse的源代碼清理可為您提供幫助。
- 在項目資源管理器中,右鍵單擊源文件夾,然后選擇源->清理…
- 選擇使用自定義配置文件 ,然后點擊旁邊的自定義配置文件部分配置 。
- 默認情況下,清理操作被配置為執行多個清理任務。 由于我們只專注于添加花括號,因此我們將禁用所有其他清理任務。 為此,請導航至“ 自定義清理”窗口中的所有選項卡,然后取消選擇所有清理。
- 然后在“ 代碼樣式”選項卡中,選擇“ 在if / while / for / do語句中使用塊”選項,然后單擊“ 確定”。
- 然后在“ 清理”對話框中,單擊“ 下一步 ” ,然后將進行重構。 您將看到一個帶有所做更改的評論頁面。
2.將if語句合并為一個
可以說,您有如下代碼:
if(isLoggedIn){if(isAdmin){doSecretStuff();}
}
將兩個if語句合并為一個是安全的,除非在兩個if語句之間有其他代碼。 當然,您可以手動編輯代碼以刪除第二個if并將條件向上移動。 但是,等等,當Eclipse可以為我們做這件事時,為什么我們要自己做呢?

- 將光標放在內部if語句的if關鍵字上。
- 按Ctrl + 1將打開上下文菜單。
- 選擇選項將'if'語句與外部'if'語句連接 。
- 瞧! 現在將兩個if語句合并為一個。
你會得到:
if(isLoggedIn && isAdmin){doSecretStuff();
}
3.重命名文件及其getter / setter方法
根據此 ,重命名的元素是在Eclipse中主要用于重構。 因此,當您重命名具有setter / getter方法的字段時,您將手動重命名那些方法名稱。 但是Eclipse可以幫助簡化此過程。

- 將光標放在要重命名的字段名稱上。
- 按Ctrl + Shift ,然后連續兩次按R鍵 ,這將打開“ 重命名字段”對話框。
- 在為您的字段提供新名稱的同時,檢查“重命名獲取器 ”和“ 重命名設置器”選項。
- 單擊“確定”后,這將重命名該字段及其getter / setter方法。
4.反轉if語句
假設您有如下代碼:
if(!isLoggedIn){// ask to login
}else{// allow access
}
上面的代碼是100%有效的。 但是諸如Checkstyle之類的代碼質量工具可能會抱怨,因為我們在第一個條件下(即!isLoggedIn )使用了負性檢查。 如果只有一種情況(只是if塊),那么我們就不能做太多事情。 但是, 如果同時具有if和else ,則可以反轉條件以避免這種情況。
- 將光標放在第一個if關鍵字上。
- 按Ctrl + 1 ,然后選擇Invert'if'statement 。
- Eclipse將反轉條件和相應的塊。
- 最終,您將獲得:
if(isLoggedIn){// allow access }else{// ask to login }
幫助提高代碼的可讀性。
結論:
當然,以上只是冰山一角。 Eclipse能夠進行更多高級的重構。 那么, 您的秘密重構技術是什么?
參考: Veera Sundar博客上JCG合作伙伴 Veera Sundar 對類固醇的Eclipse重構 。
翻譯自: https://www.javacodegeeks.com/2012/10/eclipse-refactoring-on-steroids.html