IntelliJ IDEA
IntelliJ IDEA – the Leading Java and Kotlin IDE, by JetBrains
IntelliJ IDEA のコード解析ガイド | エラー検出と自動修正で品質向上
静的コード解析とは、実際にコードを実行せずにコードに潜在的な問題があるかどうかをスキャンする手法を指します。 IntelliJ IDEA のインスペクションはプロジェクトの潜在的な問題をコンパイル前に検出できます。 IDE はさまざまな問題をハイライトし、デッドコードの場所を特定し、考えられるバグとスペルの問題を検出し、全体的なコード構造を改善できます。
このブログの連載記事では、IntelliJ IDEA のコード解析を使用してコードに潜む問題を検出して修正を行う方法をいくつか説明します。 連載の最初の記事では、コードを扱う際に IDE がどのように問題回避に役立つかを説明します。
IntelliJ IDEA でコード内の問題を発見・修正する方法
IntelliJ IDEA でコードを書く際にはコード内に注意が必要な部分があることが通知され、ハイライトされます。 いくつかの例を見てみましょう。
コードをコンパイルできない場合は IntelliJ IDEA がコンパイル前にそれを通知してくれます。 たとえば、以下のコードは FileReader
が FileNotFoundException
をスローする可能性があるためコンパイルできません。これはメソッド内で宣言すべきチェック例外です。 このコードはハイライトされます。また、このコードにマウスポインターを合わせると、IntelliJ IDEA が問題の内容を説明してくれます。 また、その修正方法も提案してくれます。この場合は例外をメソッドシグネチャーに追加する必要があります。
IntelliJ IDEA はコードが冗長になっている場合にも通知します。 以下の例では、new File
がグレー表示されています。 このコードは冗長であり、ファイル名に置換できるためです。
コードエラーを素早く確認・修正する方法
上記のように、IntelliJ IDEA はコード内の潜在的な問題をハイライトします。 問題に関する情報がさらに必要な場合は、エディター内でハイライトされているコードにカーソルを移動するか、右ガターのエラーストライプにマウスポインターを合わせるか、左側の電球アイコンをクリックすることができます。
エディターペインの右上にある Inspection(インスペクション)ウィジェットには、現在のファイルに存在する問題の件数とその重要度が表示されます。 Inspection(インスペクション)ウィジェットをクリックして問題のリストを開くと、Problems(問題)ツールウィンドウの File(ファイル)タブにそのリストが表示されます。
クイックフィックスで自動修正 | IntelliJ IDEA の活用
IntelliJ IDEA ではその場でコードを修正できるよう、これらのインスペクションに対するクイックフィックスが用意されています。 ⌥⏎ (macOS)または Alt+Enter(Windows/Linux)を使用して Show Context Actions(コンテキストアクションの表示)を呼び出し、リストから必要なアクションを選択してコードに適用します。
コード内に複数のエラーと警告がある場合は、F2 で次の問題に、Shift+F2 で前の問題に移動することができます。 このようにすることで、問題を 1 つずつ修正できます。
コードの品質向上 | IntelliJ IDEA で効率的な修正
コード内に問題がなくても、IntelliJ IDEA がコードの改善方法をいくつか提案する場合があります。 Show Context Actions(コンテキストアクションの表示)(macOS では ⌥⏎、Windows/Linux では Alt+Enter)を使用すると、コードに提案を適用できます。 たとえば、for
ループではなく forEach
、while
ループではなく stream
、BufferedReader
を自分で閉じるのではなく try-with-resources ステートメントを使用するなど、新しいイディオムを試すことができます。
ファイル全体のエラーを一括修正する方法
同じ問題が同じファイル内で何度も発生している場合、その問題を 1 つずつ修正する必要はありません! IntelliJ IDEA はファイル内の複数箇所にある特定の問題を修正することもできます。 Show Context Actions(コンテキストアクションの表示)(macOS では ⌥⏎、Windows/Linux では Alt+Enter)を使用する際に提案の右にある三点リーダーをクリックすると、ファイル全体にその提案を適用できます。
まとめ
IntelliJ IDEA ではコーディング中に注意が必要なコードがハイライトされるため、問題を防ぐことができます。また、作業中のコードについて改善できる箇所を見つけられます。
IntelliJ IDEA では現在作業中のファイル内だけでなく、プロジェクト全体で問題を解決することもできます。 この連載の次の記事では、プロジェクトのコード解析を説明します。
お見逃しのないよう、ブログをご購読ください。
オリジナル(英語)ブログ投稿記事の作者: