lucas.gaspareto_
/
// ──────────────────ensaios · funciona-eh-o-chao──────────────────
← todos os ensaios

// ensaios · taste

"Funciona" é o chão, não o teto.

Sobre declarar vitória cedo demais — o modo de falha mais comum em software, e especialmente em código gerado por IA.

publicado 12 de abril de 2026leitura 6 mintag tasteprincípio 1

Quando um reviewer experiente olha uma feature sua e diz "tá funcionando", você não acabou de receber um elogio. Você acabou de receber a informação de que existe uma barra mais alta e você não passou dela.

O problema do happy path é que ele é o caminho que o código já conhece. Você escreveu a função, você testou com os dados que tinha na cabeça, a feature rodou. Promoveu. Mandou review. Aí um usuário de verdade chega, clica três vezes no botão por ansiedade, e descobre que você nunca pensou em debounce. Ou entra sem internet. Ou tenta colar um texto de 8000 caracteres num campo desenhado pra 80.

O modo de falha mais comum em software — especialmente em código gerado por IA — é declarar vitória cedo demais.

A régua que eu uso é simples: antes de dizer que algo tá pronto, eu simulo três perfis distintos passando por ele — o especialista impaciente, o recém-chegado hesitante, o usuário recorrente que esqueceu o contexto. Se um deles não consegue completar a tarefa, não tá pronto. É regra, não recomendação.

Por que isso parece chato

Porque é. Polish não é sexy. Empty state com microcopy decente não rende post no LinkedIn. Keyboard shortcut que 2% dos usuários vão descobrir sozinhos não aparece em métrica. Mas é exatamente essa soma que separa um produto que funciona de um produto que parece certo. Olha pro Linear, pro Arc, pro Raycast — o que te faz voltar não é a feature core, é a camada de cuidado por cima dela.

Onde isso importa mais com IA

IA generativa é a melhor máquina de happy-path que já existiu. Você descreve o que quer, ela cospe código que atende a descrição literal. Zero fricção. E zero fricção é o sinal que você precisa aprender a desconfiar.

Quando eu oriento um agente de código a construir qualquer coisa não-trivial, o ciclo é o mesmo: o primeiro output técnico "funciona". É aí que começa o trabalho. Testa com input vazio. Testa sem rede. Testa o usuário que clicou duas vezes. Na quarta rodada, você começa a ter um produto.

Isso é o que o princípio 1 do taste-loop pede. Não é um padrão de qualidade pra quando você tem tempo. É o mínimo.