Skip to content

未使用のコード (Dead Code)

ID: dead_code | 重要度: 低 (デフォルト)

未使用のコード(デッドコード)とは、プロジェクト内のどこからもインポートや使用がされていない、エクスポートされた関数、クラス、または変数のことを指します。

なぜこれが「不吉な臭い」なのか

  • メンテナンスの負担: 実際には使用されていないコードの更新やリファクタリングに、開発者が時間を費やす可能性があります。
  • バンドルサイズ: 最終的なアプリケーションサイズを増加させます(多くのバンドラーはツリーシェイキングを行いますが)。
  • 混乱: モジュールの API が実際よりも大きく、複雑に見えるようになります。

例 (Examples)

Bad

typescript
// utils.ts
export const usedHelper = () => { ... };
export const unusedHelper = () => { ... }; // Reported as dead code

// main.ts
import { usedHelper } from './utils';

修正方法

  1. 削除する: 本当に使われていないのであれば、削除するのが最善です。
  2. エントリポイントとしてマークする: パブリック API の一部であったり、動的インポートであったりする場合は、設定の entry_points に追加してください。

設定 (Configuration)

yaml
entry_points:
  - 'src/index.ts'
  - 'src/api/**/*.ts'

ESLint ルール

このディテクターは、エディター内でリアルタイムのフィードバックを提供する ESLint ルールとして利用可能です。

javascript
// eslint.config.js
export default [
  {
    rules: {
      '@archlinter/no-dead-code': 'warn',
    },
  },
];

セットアップ手順については ESLint Integration を参照してください。

Released under the MIT License.