3

私は従来のコードをクリーンアップしようとしています。リファクタリング - 折りたたみ可能な "if"文をマージする必要があります。

例 - これはにリファクタリングすることができ

if (file != null) { 
    if (file.isFile() || file.isDirectory()) { 
    /* ... */ 
    } 
} 

if (file != null && (file.isFile() || file.isDirectory())) { 
    /* ... */ 
} 

が手動でこの変更を実行するには、痛みです。そこで、この一括コードリファクタリングを手助けするために、検査ツールとintellijiのテンプレートリファクタリングをチェックしようとしていました。

このEclipse IDEも見つかりませんでした。

は親切に提案し、プレスAltキー + を入力してMerge nested 'if'sを起動し、最初のifキーワードにテキストカーソルを置くのIntelliJ IDEAでは、この

答えて

1

ためIntelliji/Eclipseのがオプションです。

構造検索&を使用して、この操作を一括して実行することもできます。クリックEdit Variables...

if ($a$) { 
    if ($b$) { 
    $statement$; 
    } else $void$; 
} else $void$; 

0,∞statementの最小値と最大数を設定します。以下の検索パターンを使用してください。この交換は防ぐためにいくつかのケースでは冗長な括弧を導入することを

if (($a$) && ($b$)) { 
    $statement$; 
} 

注コードの意味を変更します。また、次の置換パターンを使用しvoid

0,0の最小値と最大数を設定します後で Run Inspection by Nameを呼び出して Unnecessary parenthesesの検査を実行することで、これらを後で削除することができます。

+0

私の質問は、プロジェクト全体でやるべきことでしたが、オプションがあります。私はこの個々の選択肢を知っています。 –

+0

あなたは正しいです、私は私の答えを拡大しました。 –

+0

更新された回答ありがとうございます。しかし、これがあるときはこれはうまくいかないでしょう。 –

2

AutoRefactor Eclipseプラグインでこれをバッチ処理できます。

http://autorefactor.org/html/samples.htmlを参照し、CollapseIfStatementSample.javaを選択してください。これは、ファイル全体、パッケージ、またはプロジェクトで行うことができます。

SimplifyExpressionSample.java(例:144行目を参照)も不要なかっこを削除するリファクタリングがあります。

関連する問題