O que Remover Código Morto faz?
Uma execução limpa uma região morta: prove que não é usada, remova a unidade inteira, verifique o que resta. Nunca refatora o que mantém; código vivo próximo que pareça errado é nomeado, não tocado.
Etapas
- Enumerar candidatos. Liste unidades inteiras que podem estar mortas: arquivos não tocados, exports não referenciados, componentes que nenhuma rota renderiza, props e estados que nenhum chamador passa, classes CSS que nenhuma marcação usa. Unidades inteiras, não linhas — um export morto com ajudantes vivos ainda é uma unidade. — Feito quando: cada candidato nomeia quem poderia ter se referido a ele.
- Provar não usado em todos os endereços. Busque por referência direta e dinâmica: imports baseados em string, tabelas de rota, templates de teste, nomes de story. Um candidato só está morto quando toda forma de alcançá-lo é seguida. — Feito quando: cada candidato registra as buscas que não encontraram nada.
- Deletar em fatias e verificar cada uma. Remova uma unidade por vez — uma balta traçadora de resgate se algo surpreendente aparecer: pare, re-prove o limite, depois retome. Após cada remoção, o build, a verificação de tipos e os testes são executados. — Feito quando: pelo menos um build completo mais testes passa após a última remoção.
- Fechar as pontas soltas. Re-verifique o que costumava importar as unidades removidas: uma cadeia de import, uma fixture obsoleta, uma pasta agora vazia. Agite a árvore: o que cai por segundo faz parte desta execução. — Feito quando: uma nova busca pelos nomes deletados não retorna nada.
Referência
- reference.md — onde o código frontend se esconde da busca, e a lista de verificação de prova por tipo de unidade.