| name | early-return |
| description | Trata erros e edge cases primeiro, com return antecipado (guard clauses) |
| roles | ["builder"] |
| category | universal |
Trate erros e casos de borda no topo da função com return antecipado. Evite else depois de return.
Regras:
- Validações antes da lógica principal.
- Aninhamento máximo de 3 níveis. Acima disso, extraia função.
- Happy path sem indentação extra no fundo da função.
Anti-padrão:
def f(x):
if x:
if x.valid:
do_stuff()
else:
return error
else:
return error
Refator:
def f(x):
if not x:
return error
if not x.valid:
return error
do_stuff()