Pular para o conteúdo
Skillpedia
Testes48 mil · #4323

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

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/tdd-workflows-tdd-refactor/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/tdd-workflows-tdd-refactor/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-refactor

Ou 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.md
Conteú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

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#4323
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas