Validación de Argumentos en Terminal con Clases en Ciel
Clase 36 de 39 • Curso de Programación Funcional con Java SE
Contenido del curso
- 2

Funciones en Programación Funcional: Conceptos Básicos
03:15 - 3

Funciones como Ciudadanos de Primera Clase en Programación
02:39 - 4

Funciones Puras: Concepto y Ejemplos Prácticos
04:05 - 5

Efectos Secundarios en Programación y su Impacto en el Código
03:12 - 6

Funciones de Orden Superior en Programación
02:28 - 7

Funciones Lambda en Programación Funcional Java
03:30 - 8

Inmutabilidad de Datos en Programación Funcional con Java
11:16
- 9
Programación Funcional en Java SE: Conceptos y Prácticas
00:06 - 10

Programación Funcional en Java: Práctica y Ejemplos en IntelliJ
02:48 - 11

Programación Funcional en Java: Creación y Uso de Funciones
04:03 - 12

Programación Funcional con Predicados en Java
04:57 - 13

Interfaz Consumer y Supplier en Java: Uso y Ejemplos Prácticos
03:54 - 14

Funciones Java para Transformación de Datos y Operaciones Binarias
07:10 - 15

Creación y Uso de Interfaces Funcionales Personalizadas en Java
08:51 - 16

Métodos de Referencia en Programación Funcional Java
04:46 - 17

Inferencia de tipos en Java: funciones y métodos
03:53 - 18

Uso de Expresiones Lambda en Java: Sintaxis y Aplicaciones
12:47 - 19

Interfaz Funcional en Java: Creación y Uso de Métodos Default
04:59 - 20

Encadenamiento de Llamadas en Programación Orientada a Objetos
03:52 - 21

Composición de Funciones en Programación Funcional
06:06
- 22

Uso de la Clase Optional en Java para Manejo de Valores Nulos
12:59 - 23

Manipulación de Streams en Java: Operaciones y Limitaciones
10:18 - 24

Programación Funcional en Java: Uso de Streams y Operaciones Terminales
07:21 - 25
Operaciones de Stream en Java: Intermedias y Finales
05:05 - 26

Operaciones y Concurrente con Stream en Java
05:51 - 27
Operaciones Terminales en Java Streams
06:18 - 28
Operaciones Intermedias en Streams de Java
09:21 - 29

Conversión de Strings a Listas de Enteros en Java
06:14
- 30

Construcción de Proyecto para Buscar Empleo Usando APIs
01:17 - 31

Configuración y Uso de Gradle en Proyectos Java con IntelliJ
03:23 - 32

Creación de una Herramienta de Búsqueda de Trabajo en Terminal
01:51 - 33

Creación de Puntos de Entrada y Dependencias en Proyectos Java
05:54 - 34

Creación de APIs RESTful con Feign y Spring Boot
09:31 - 35

Creación de una Interfaz de Línea de Comandos con JCommander
13:05 - 36

Validación de Argumentos en Terminal con Clases en Ciel
04:32 - 37

Procesamiento de Argumentos y Solicitudes API en Java
11:38 - 38

Creación de API para búsqueda de empleos con Java y CLI
08:31
¿Cómo validar argumentos de terminal en Python con clases?
Validar argumentos de terminal es un paso crucial para garantizar la robustez de cualquier aplicación. En Python, podemos implementar esta funcionalidad de manera eficiente utilizando clases. Hoy te guiaré a través de la creación de un validador de argumentos con una clase en Python, una forma profesional y robusta de manejar los datos de entrada desde la línea de comandos.
¿Qué es una clase validadora?
Dispondremos una clase llamada ValidArgumentValidator que implementará una interfaz similar a yargs. Esta clase nos permitirá interceptar peticiones y realizar comprobaciones antes de que los valores pasen al resto del programa.
class ValidArgumentValidator:
def __init__(self):
pass
def validate(self, value):
if not value:
raise Exception("Argumento no válido. La ayuda fue solicitada.")
print("Ayuda solicitada")
¿Cómo implementar una clase validadora para help?
Para la opción de help, necesitamos asegurarnos de que se considere adecuadamente. Si un usuario introduce una opción que no esperamos junto con --help, deberíamos manejar esto sabiamente:
- Validación de entrada: Verifica si el usuario llamó
--help. - Acción adecuada: Lanza una excepción o proporciona un mensaje si es necesario.
def validate_help_argument(value):
if value:
raise Exception("Ayuda solicitada, no se permiten otros argumentos.")
print("Se proporcionó --help.")
¿Qué es valid_input_validator?
Es importante evitar que los usuarios ingresen datos inválidos como espacios en blanco o caracteres no alfanuméricos. Para esto, creamos una clase valid_input_validator:
- Expresión regular: Utilizamos regex para validar que solo se ingresen letras y números.
- Mensajes claros: Informa al usuario cuando el criterio de búsqueda no sea válido.
import re
class KeywordInputValidator:
def __init__(self):
pass
def validate(self, value):
if not re.match("^[A-Za-z0-9]*$", value):
raise Exception("El criterio de búsqueda no es válido.")
print("Criterio de búsqueda válido.")
¿Cómo se integran estas clases al sistema?
Una vez que se tengan las clases validadoras, debemos integrarlas al flujo de nuestro programa. Esto implica:
- Configurar argumentos: Define claramente qué argumento debe ser validado con cada clase.
- Ejecutar validaciones: Invocar a cada validador con el conjunto de valores provenientes de la terminal.
Recomendaciones finales
Incorporar validaciones robustas en tu aplicación no solo mejora su seguridad y estabilidad, sino que también asegura una experiencia de usuario sin inconvenientes. Insto a seguir avanzando en este camino de mejora continua, entender las excepciones y manejarlas adecuadamente es clave para convertirte en un desarrollador profesional. ¡Sigue aprendiendo y explorando, el viaje recién comienza!