UGA Boxxx

つぶやきの延長のつもりで、知ったこと思ったこと書いてます

【Kotlin】Detektでコードの静的解析を行う

Detekt という Kotlinプロジェクトに対してコードの静的解析を行うツールを知ったので調べた

detekt.dev

Detektプラグインを追加する

まず、プロジェクトの build.gradle.kts に Detekt のプラグインを追加する

plugins {
    id("io.gitlab.arturbosch.detekt") version "1.23.7"
}

Detektの設定ファイルを生成する

Detektの設定ファイル(detekt.yml)をプロジェクトに追加することで、カスタムルールや特定のルールを無効にしたり、ルールのレベルを設定できる

設定ファイルを生成するには以下のコマンドを実行

./gradlew detektGenerateConfig

Detektの設定ファイルの内容を編集

生成された detekt.yml を開いて、ルールの設定を行う

例えば、特定のルールを無効にしたり、警告レベルを調整できる

build:
  maxIssues: 10  # 許容する最大エラー数
  excludeCorrectable: true  # 自動修正可能な警告はカウントしない

style:
  MagicNumber:
    active: true
    ignoreNumbers: '-1, 0, 1, 2'  # 無視するマジックナンバー

Detektタスクの実行

Detektは、detekt タスクとしてGradleに追加される

静的解析を実行するには、以下のコマンドを実行する

./gradlew detekt

これにより、プロジェクト全体に対してDetektのチェックが実行され、結果がターミナルに表示される

IntelliJ IDEAでのDetektプラグインの使用

あとは IntelliJ IDEAを使っているので、プラグインを入れる

これで、Detektのチェック結果がIDE内でリアルタイムに確認できるようになる