refatoração dos agents
This commit is contained in:
parent
97acfb07df
commit
1177e31e56
104 changed files with 1068 additions and 3995 deletions
56
agents/refatorar/rules/refatoracao-segura
Normal file
56
agents/refatorar/rules/refatoracao-segura
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
---
|
||||
type: rule
|
||||
name: refatoracao-segura
|
||||
description: Toda refatoração deve preservar comportamento e ter cobertura de testes
|
||||
scope: local
|
||||
trigger: always_on
|
||||
updatedAt: "2026-06-19"
|
||||
---
|
||||
|
||||
# Regra: Refatoração Segura
|
||||
|
||||
## Contexto
|
||||
|
||||
Refatoração é a melhoria da estrutura interna do código **sem alterar seu comportamento externo**. Sem essa garantia, refatoração vira regressão.
|
||||
|
||||
## Regra
|
||||
|
||||
Antes de executar qualquer refatoração, verificar:
|
||||
|
||||
1. **Testes existem** — o comportamento que será afetado tem cobertura
|
||||
2. **Testes passam** — o estado antes da mudança é verde
|
||||
3. **Passos pequenos** — cada mudança deve ser verificável isoladamente
|
||||
4. **Sem surpresas** — nenhuma funcionalidade nova introduzida junto com refatoração
|
||||
|
||||
Se não há testes cobrindo o trecho:
|
||||
- **PARAR** a refatoração
|
||||
- Solicitar ao `@testes` a criação de testes de cobertura
|
||||
- Só prosseguir após testes existirem e passarem
|
||||
|
||||
## Exemplos
|
||||
|
||||
### ✅ Correto
|
||||
```
|
||||
1. Verificar testes existentes para `calcularLicenca()`
|
||||
2. Executar testes → todos passam
|
||||
3. Extrair cálculo de multa para `calcularMulta()`
|
||||
4. Executar testes → todos passam
|
||||
5. Commit: "refactor: extrair calcularMulta de calcularLicenca"
|
||||
```
|
||||
|
||||
### ❌ Incorreto
|
||||
```
|
||||
1. Refatorar `calcularLicenca()` inteiro
|
||||
2. Adicionar nova regra de desconto (feature!)
|
||||
3. Descobrir que não tinha testes
|
||||
4. Commit: "refactor: melhorar cálculos" ← mentira, é feature + refatoração
|
||||
```
|
||||
|
||||
## Impacto
|
||||
|
||||
Sem esta regra, refatorações introduzem regressões silenciosas que só são descobertas em produção.
|
||||
|
||||
## Referências
|
||||
|
||||
- Martin Fowler — "Refactoring: Improving the Design of Existing Code"
|
||||
- Persona: `agents/refatorar/persona`
|
||||
Loading…
Add table
Add a link
Reference in a new issue