Código Muerto (Dead Code)
ID: dead_code | Severidad: Baja (por defecto)
El código muerto se refiere a funciones, clases o variables exportadas que no se importan ni se utilizan en ningún otro lugar del proyecto.
Por qué esto es un problema
- Carga de Mantenimiento: Los desarrolladores podrían dedicar tiempo a actualizar o refactorizar código que ni siquiera se utiliza.
- Tamaño del Bundle: Aumenta el tamaño final de la aplicación (aunque muchos bundlers realizan tree-shaking).
- Confusión: Hace que la API de un módulo parezca más grande y compleja de lo que realmente es.
Ejemplos
Mal
typescript
// utils.ts
export const usedHelper = () => { ... };
export const unusedHelper = () => { ... }; // Reportado como código muerto
// main.ts
import { usedHelper } from './utils';Cómo solucionarlo
- Eliminarlo: Si realmente no se usa, la mejor acción es su eliminación.
- Marcar como Punto de Entrada (Entry Point): Si es parte de una API pública o una importación dinámica, añádelo a
entry_pointsen tu configuración.
Configuración
yaml
entry_points:
- 'src/index.ts'
- 'src/api/**/*.ts'Regla ESLint
Este detector está disponible como una regla ESLint para recibir retroalimentación en tiempo real en tu editor.
javascript
// eslint.config.js
export default [
{
rules: {
'@archlinter/no-dead-code': 'warn',
},
},
];Consulta Integración con ESLint para instrucciones de configuración.