tdd-workflows-tdd-refactor
Ajuda seu agente a refatorar código quando se trabalha com fluxos de TDD. Isso melhora a estrutura do código após os testes passarem.
O que ela faz
Esta ferramenta ajuda a melhorar seu código de programação, tornando-o mais limpo e eficiente. Ela faz isso aplicando técnicas de refatoração e garantindo que todos os testes do seu código continuem funcionando.
Quando usar
- ✓Quando você quer deixar seu código mais organizado.
- ✓Quando você quer melhorar a velocidade do seu código.
- ✓Quando você quer garantir que as mudanças no código não quebrem nada.
Exemplo do que pedir para a IA
“Refatore este código para que fique mais limpo e rápido, mas garanta que todos os testes continuem passando.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A ferramenta analisa seu código, identifica pontos que podem ser melhorados (como repetições ou complexidade) e aplica técnicas conhecidas para consertá-los. Ela roda testes antes e depois para ter certeza de que tudo continua funcionando.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill tdd-workflows-tdd-refactorOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/tdd-workflows-tdd-refactor/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Use esta habilidade quando
- Trabalhando em fluxos de trabalho TDD, tarefas de refatoração TDD ou fluxos de trabalho.
- Precisando de orientação, melhores práticas ou checklists para fluxos de trabalho TDD, refatoração TDD.
Não use esta habilidade quando
- A tarefa não estiver relacionada a fluxos de trabalho TDD, refatoração TDD.
- Você precisar de um domínio ou ferramenta diferente fora deste escopo.
Instruções
- Clarifique objetivos, restrições e entradas necessárias.
- Aplique melhores práticas relevantes e valide os resultados.
- Forneça etapas acionáveis e verificação.
- Se exemplos detalhados forem necessários, abra
resources/implementation-playbook.md.
Refatore código com confiança usando uma rede de testes abrangente:
[Pensamento estendido: Esta ferramenta usa o agente tdd-orchestrator (modelo opus) para refatoração sofisticada, mantendo todos os testes em verde. Ela aplica padrões de design, melhora a qualidade do código e otimiza o desempenho com a segurança de uma cobertura de testes abrangente.]
Uso
Use a ferramenta Task com subagent_type="tdd-orchestrator" para realizar refatoração segura.
Prompt: "Refatore este código mantendo todos os testes em verde: $ARGUMENTS. Aplique a fase de refatoração TDD:
Processo Principal
1. Pré-Avaliação
- Execute testes para estabelecer a linha de base verde.
- Analise odores de código e cobertura de testes.
- Documente as métricas de desempenho atuais.
- Crie um plano de refatoração incremental.
2. Detecção de Odores de Código
- Código duplicado → Extrair métodos/classes.
- Métodos longos → Decompor em funções focadas.
- Classes grandes → Dividir responsabilidades.
- Listas longas de parâmetros → Objetos de parâmetro.
- Inveja de Funcionalidade (Feature Envy) → Mover métodos para classes apropriadas.
- Obsessão por Primitivos → Objetos de valor.
- Instruções
switch→ Polimorfismo. - Código morto → Remover.
3. Padrões de Design
- Aplique Criacionais (Factory, Builder, Singleton).
- Aplique Estruturais (Adapter, Facade, Decorator).
- Aplique Comportamentais (Strategy, Observer, Command).
- Aplique de Domínio (Repository, Service, Value Objects).
- Use padrões apenas onde agregarem valor claro.
4. Princípios SOLID
- Responsabilidade Única: Uma razão para mudar.
- Aberto/Fechado: Aberto para extensão, fechado para modificação.
- Substituição de Liskov: Subtipos substituíveis.
- Segregação de Interface: Interfaces pequenas e focadas.
- Inversão de Dependência: Depender de abstrações.
5. Técnicas de Refatoração
- Extrair Método/Variável/Interface.
- Incorporar indireção desnecessária.
- Renomear para clareza.
- Mover Método/Campo para classes apropriadas.
- Substituir Números Mágicos por constantes.
- Encapsular campos.
- Substituir Condicional por Polimorfismo.
- Introduzir Objeto Nulo (Null Object).
6. Otimização de Desempenho
- Perfilar para identificar gargalos.
- Otimizar algoritmos e estruturas de dados.
- Implementar cache onde for benéfico.
- Reduzir consultas ao banco de dados (eliminação N+1).
- Carregamento preguiçoso (lazy loading) e paginação.
- Sempre medir antes e depois.
7. Passos Incrementais
- Faça alterações pequenas e atômicas.
- Execute testes após cada modificação.
- Faça commit após cada refatoração bem-sucedida.
- Mantenha a refatoração separada das mudanças de comportamento.
- Use scaffolding quando necessário.
8. Evolução da Arquitetura
- Separação de camadas e gerenciamento de dependências.
- Limites de módulos e definição de interfaces.
- Padrões orientados a eventos para desacoplamento.
- Otimização de padrões de acesso a banco de dados.
9. Verificação de Segurança
- Execute a suíte de testes completa após cada mudança.
- Testes de regressão de desempenho.
- Testes de mutação para eficácia dos testes.
- Plano de rollback para mudanças importantes.
10. Padrões Avançados
- Strangler Fig: Substituição gradual de legado.
- Branch by Abstraction: Mudanças em larga escala.
- Parallel Change: Padrão expandir-contrair.
- Mikado Method: Navegação em grafo de dependências.
Requisitos de Saída
- Código refatorado com melhorias aplicadas.
- Resultados dos testes (todos em verde).
- Comparação de métricas antes/depois.
- Lista de técnicas de refatoração aplicadas.
- Medições de melhoria de desempenho.
- Avaliação da dívida técnica restante.
Checklist de Segurança
Antes de fazer commit:
- ✓ Todos os testes passam (100% verde).
- ✓ Nenhuma regressão de funcionalidade.
- ✓ Métricas de desempenho aceitáveis.
- ✓ Cobertura de código mantida/melhorada.
- ✓ Documentação atualizada.
Protocolo de Recuperação
Se os testes falharem:
- Reverter imediatamente a última mudança.
- Identificar a refatoração que causou a falha.
- Aplicar mudanças incrementais menores.
- Usar controle de versão para experimentação segura.
Exemplo: Padrão Extrair Método
Antes:
class OrderProcessor {
processOrder(order: Order): ProcessResult {
// Validação
if (!order.customerId || order.items.length === 0) {
return { success: false, error: "Pedido inválido" };
}
// Calcular totais
let subtotal = 0;
…
Perguntas frequentes
O que é refatoração?
Refatoração é o processo de reestruturar um código existente sem mudar seu comportamento externo. O objetivo é melhorar a clareza, reduzir a complexidade e facilitar a manutenção.
Por que é importante que os testes continuem passando?
Manter os testes passando garante que as mudanças feitas no código não introduziram novos erros ou quebraram funcionalidades existentes. É uma rede de segurança.
Que tipo de melhorias o código pode ter?
O código pode ficar mais fácil de ler, mais rápido para executar, mais organizado e mais simples de modificar no futuro.
Detalhes
Descrição original do autor
Use when working with tdd workflows tdd refactor
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #4323
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
cpp-testing
Faz seu agente escrever e melhorar testes para código C++. Ajuda a configurar ferramentas de teste e a corrigir erros.
affaan-m/ECC
csharp-testing
Ajuda seu agente a criar testes para código C# e .NET. Ele usa as melhores práticas para garantir que os testes sejam eficientes e confiáveis.
affaan-m/ECC
django-tdd
Faz seu agente aplicar estratégias de teste para Django com pytest-django e TDD. É útil para escrever testes robustos e garantir a qualidade do código, especialmente para APIs DRF.
affaan-m/ECC