Мертвый код
ID: dead_code | Степень критичности: Низкая (по умолчанию)
Мертвый код — это экспортируемые функции, классы или переменные, которые не импортируются и не используются больше нигде в проекте.
Почему это «запах»
- Обуза при поддержке: Разработчики могут тратить время на обновление или рефакторинг кода, который даже не используется.
- Размер бандла: Увеличивает итоговый размер приложения (хотя многие сборщики выполняют tree-shaking).
- Путаница: Интерфейс (API) модуля кажется больше и сложнее, чем он есть на самом деле.
Примеры
Плохо
typescript
// utils.ts
export const usedHelper = () => { ... };
export const unusedHelper = () => { ... }; // Отмечается как мертвый код
// main.ts
import { usedHelper } from './utils';Как исправить
- Удалите его: Если код действительно не используется, лучшее решение — удаление.
- Отметьте как точку входа: Если это часть публичного API или динамический импорт, добавьте его в
entry_pointsв вашей конфигурации.
Конфигурация
yaml
entry_points:
- 'src/index.ts'
- 'src/api/**/*.ts'ESLint правило
Этот детектор доступен как правило ESLint для получения обратной связи в реальном времени.
javascript
// eslint.config.js
export default [
{
rules: {
'@archlinter/no-dead-code': 'warn',
},
},
];Смотрите Интеграция с ESLint для инструкций по настройке.
Используйте entry_points для указания точек входа проекта, которые не должны помечаться как мертвый код.