Fail Fast
Definição
O princípio Fail Fast recomenda que um sistema falhe o mais cedo possível sempre que detectar uma condição inválida ou inesperada.
Em vez de permitir que erros silenciosos se propaguem, o sistema deve reagir imediatamente ao detectar inconsistências, impedindo que o problema se propague e cause falhas mais graves adiante.
Por que é importante
Falhar cedo facilita a identificação da origem do erro. Quando o sistema detecta o problema no momento em que ele acontece, o desenvolvedor consegue isolar e corrigir a causa com mais facilidade.
Evitar falhas silenciosas previne bugs ocultos, resultados incorretos, efeitos colaterais inesperados e facilita o diagnóstico de problemas mesmo em ambientes de produção. Também melhora a qualidade dos testes e validações.
Exemplo prático (Python)
Suponha uma função que recebe dados para cadastrar um usuário. Sem validações, o código pode funcionar incorretamente com dados inválidos:
def cadastrar_usuario(nome, idade):
print(f"Cadastrando {nome} com idade {idade}")
Essa função aceita qualquer entrada, inclusive vazia ou inválida. Aplicando Fail Fast, validamos os dados no início e interrompemos se necessário:
def cadastrar_usuario(nome, idade):
if not nome:
raise ValueError("Nome é obrigatório")
if idade < 0:
raise ValueError("Idade não pode ser negativa")
print("Usuário cadastrado com sucesso!")
Essa validação explícita impede que o sistema prossiga com dados inconsistentes, facilitando a detecção e a correção de erros logo no início.