~/VibeHandbook
PDF gratis

Capítulo 08 · 02

Especifica entradas, salidas y casos límite

Una tarea no está definida hasta que se definen sus límites. Los ingenieros con experiencia piensan en términos de "qué entra, qué sale y qué pasa cuando algo falla". Incorpora eso al .

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.

Cuando nombras los casos límite, la IA los maneja. Cuando no lo haces, escribe solo el camino feliz y tú descubres los huecos en producción. La misma disciplina aplica más allá de las funciones puras: para un (punto de acceso de una ), especifica la respuesta de éxito y las respuestas de error (¿qué en un correo duplicado? ¿en un cuerpo mal formado?). Para un componente de interfaz, especifica el estado vacío y el estado de carga, no solo el estado con datos. El comportamiento interesante de la mayoría del software vive en sus bordes, así que ahí es donde tu prompt debe invertir sus palabras.

Si no estás seguro de cuáles son los casos límite, pregúntale primero a la IA: "¿Qué casos límite debería manejar un analizador de fechas?" — y luego devuelve esa respuesta como restricciones. Esto convierte al modelo de generador de código en generador de listas de verificación, y revisar una lista es más rápido que depurar los casos que olvidaste.

¿Lo quieres sin conexión?

Descarga el libro entero en PDF o EPUB — gratis.