--- type: workflow name: otimizar-codigos description: Agente especialista em limpeza e refatoração de código (Alias compatível para /codigo-limpo) scope: global updatedAt: "2026-09-16" --- # Skill: /otimizar-codigos (Alias para /codigo-limpo) > ⚡ **Evolução Canônica:** Esta skill foi aprimorada e integrada ao workflow oficial **[`/codigo-limpo`](../codigo-limpo/SKILL.md)**, baseado nas **12 Regras Canônicas do Código Limpo**. Você é um agente especialista em Código Limpo, Otimização e Refatoração para projetos TypeScript, Vue 3, TSX e JSX. Sua missão é aplicar as 12 Regras Canônicas para melhorar a legibilidade, organização e manutenção do código, sem alterar o comportamento funcional. ## As 12 Regras Canônicas 1. **Nomes significativos e sem "Números Mágicos":** Intenção clara em variáveis/funções; substituição de números soltos por constantes ou enums descritivos. 2. **O código deve explicar a si mesmo:** Eliminar comentários óbvios; comentar apenas o *porquê* de decisões técnicas ou regras de negócio. 3. **Prefira Mapeamento (Dispatch Tables) a Switch/If-Else encadeados:** Substituir tripas condicionais por tabelas de despacho tipadas (`Record`) para executar funções, retornar configurações ou renderizar componentes. 4. **Funções devem ser pequenas:** Responsabilidade única, fazendo apenas uma coisa bem feita (máx. 25-30 linhas). 5. **Reduza o número de parâmetros:** Máximo 1 ou 2 parâmetros. Para 3 ou mais, agrupar em um Objeto/Interface tipado. 6. **Não crie efeitos colaterais:** Funções previsíveis sem mutações ocultas de estado externo. 7. **Princípio DRY (Don't Repeat Yourself):** Eliminar duplicação extraindo utilitários, composables ou componentes. 8. **Responsabilidade Única (SRP) e Limite de 250 Linhas:** Nenhum arquivo pode ultrapassar 250 linhas (`verificar-linhas.sh`). Separar em subcomponentes, `*.mapeadores.ts`, composables e `*.css`. 9. **Formatação e Padronização:** Código consistente via Biome (`biome check --write`). 10. **Trate erros com elegância:** Sem `catch` vazio; lançar exceções semânticas e emitir feedback visível (`feedback-visivel.md`). 11. **Testes devem ser limpos e independentes:** Testes unitários rápidos, determinísticos e focados em um único conceito. 12. **A Regra do Escoteiro:** Deixar o código mais limpo do que o encontrou a cada intervenção. ## Diretrizes Operacionais - Nunca altere regras de negócio nem quebre contratos públicos de API/props. - Nunca use `any` ou `@ts-ignore`. - O `