~/VibeHandbook
PDF grátis

Capítulo 08 · 02

Especifique Entradas, Saídas e Casos de Borda

Uma tarefa só está definida quando seus limites estão definidos. Engenheiros experientes pensam em termos de "o que entra, o que sai, e o que acontece quando algo dá errado". Incorpore isso ao .

Write a function to parse a date string.
Write a function parseDate(input: string): Date | null.

Inputs: ISO 8601 strings ("2026-06-14", "2026-06-14T10:30:00Z").
Output: a Date object, or null if the string is invalid.

Edge cases to handle:
- empty string or whitespace -> null
- valid format but impossible date (2026-02-30) -> null
- trailing garbage ("2026-06-14xyz") -> null

Do not throw. Return null for all invalid input.

Quando você nomeia os casos de borda, a IA os trata. Quando você não nomeia, ela escreve o caminho feliz e você descobre as lacunas em produção. A mesma disciplina se aplica além de funções puras: para um , especifique a resposta de sucesso e as respostas de erro (qual código de status em caso de e-mail duplicado? em caso de corpo malformado?). Para um componente de interface, especifique o estado vazio e o estado de carregamento, não só o estado populado. O comportamento interessante da maioria dos softwares vive nas bordas, então é ali que seu prompt deve gastar suas palavras.

Se você não tiver certeza de quais são os casos de borda, pergunte primeiro à IA: "What cases should a date parser handle?" — e depois devolva a resposta como restrições. Isso transforma o modelo de um gerador de código em um gerador de checklist, e revisar uma checklist é mais rápido do que depurar os casos que você esqueceu.

Quer offline?

Baixe o livro inteiro em PDF ou EPUB — grátis.