Explicación del concepto
Esta lección se centra en hacer que los programas Java pequeños sean más seguros y predecibles. En lugar de asumir que la entrada siempre es válida, practicarás la verificación de casos de riesgo, la respuesta clara a los fallos y el mantenimiento de un código fácil de seguir. El objetivo es ver cómo la fiabilidad comienza con pequeñas decisiones: validar datos, manejar excepciones intencionadamente y escribir código en el que otro desarrollador pueda confiar sin tener que adivinar qué sucede cuando algo sale mal.
Dónde poner el código
- Define las variables de color y posición en la parte superior.
- Crea la lógica de dibujo o posicionamiento de formas en el medio.
- Renderiza la salida (impresión, `canvas`, `SVG` o bloque con estilo) al final.
Referencia de comandos
- Ejecuta el programa una vez con una edad válida y otra con texto inválido para confirmar que ambos resultados se manejan limpiamente.
- Crea una pequeña lista de entradas como "18", "0", "-4" y "abc" y anota qué valores deberían pasar o fallar.
- Refactoriza la lógica de análisis en un método dedicado para que las reglas de validación residan en un solo lugar.
- Escribe una regla de fiabilidad que hayas seguido, como fallar rápidamente o devolver un mensaje de error claro.
Guía paso a paso
- Comienza con la versión base e identifica dónde una entrada inválida puede romper el programa.
- Mueve el trabajo de análisis de riesgo a un pequeño método auxiliar con un nombre claro.
- Prueba una entrada normal y un caso de fallo, luego verifica que la salida explique lo sucedido.
- Realiza una mejora enfocada, como rechazar números negativos o mejorar el mensaje de error.
- Finaliza señalando por qué esta versión es más segura que un análisis directo en `main`.
Ejercicios prácticos
- Cambia el ejemplo para que valide una cantidad o un precio en lugar de una edad.
- Añade una regla más, como un valor máximo permitido, y explica por qué es importante.
- Escribe un plan de pruebas corto que muestre al menos tres entradas y el resultado esperado para cada una.
Retos de código
- Implementa una versión que lance excepciones y otra que devuelva un resultado de éxito/fallo, luego compáralas.
- Diseña una pequeña utilidad de validación de entrada que pueda ser reutilizada por más de una clase.
Mini tareas de práctica
- Añade una protección que rechace entradas en blanco antes de que comience el análisis.
- Renombra cualquier variable ambigua para que su propósito sea obvio a primera vista.
- Mejora un mensaje para que un usuario principiante pueda entender el fallo sin leer el código.
Error común
Mixing x and y axes or using wrong coordinate origin causes shapes to appear in unexpected places.
Mini reto de la vida real
Draw one square, one triangle, and one circle, then move X marker 2 steps right and 1 step down.