コードのフラグメントを別のメソッドに抽出し、コードをより明確にすることを提案します。
このインスペクションは以下を含め、抽出に適した候補を選択するための多数のヒューリスティックを備えています。
- 抽出されたフラグメントに非ローカルの制御フローがない
- 抽出されたフラグメントに出力変数が 1 つだけある
- 抽出されたフラグメント内とその外に似たような出力変数の使用箇所がない
- 抽出されたフラグメントに入力パラメーターが少ししかない (デフォルトでは 3 つ以下。インスペクションオプションで構成可能)
- 抽出されたフラグメントが構成されている長さ (デフォルトでは 500 文字) 以上であるものの、含んでいるメソッド本体の 60% 以下である