devseniorlabpython / devseniorlabpython/hardware-shop

Mejorar la Robustez del Sistema con Validación de Datos Avanzada

Abierto
#1 0 comentarios 0 reacciones 0 asignados Ver en GitHub
enhancement
Lenguaje dominante
Python
Estrellas
0
Forks
4
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

Actualmente, nuestro sistema realiza validaciones básicas, pero podemos hacerlo mucho más robusto y a prueba de errores para garantizar la calidad de los datos en nuestro inventario.

**Tu Misión:**

Tu objetivo es crear un módulo de validación centralizado y utilizarlo para fortalecer la entrada de datos en `main.py`.

**Tareas Específicas:**

1. **Crear un Módulo de Validación (`validaciones.py`):**
* Crea un nuevo archivo llamado `validaciones.py`.
* Dentro de este archivo, crea funciones específicas para validar los datos de un producto. Por ejemplo:
* `validar_nombre(nombre: str) -> bool`: Debe verificar que el nombre no esté vacío (después de quitar espacios) y que quizás no exceda una longitud máxima (ej. 100 caracteres).
* `validar_precio(precio: float) -> bool`: Debe asegurar que el precio sea un número positivo (mayor que cero).
* `validar_stock(stock: int) -> bool`: Debe asegurar que el stock no sea un número negativo.

2. **Integrar las Validaciones en `main.py`:**
* Importa tus nuevas funciones de validación en `main.py`.
* Antes de llamar a `repo.create()` o `repo.update()`, utiliza estas funciones para validar los datos introducidos por el usuario.
* Si una validación falla, muestra un mensaje de error claro y específico al usuario (ej. "Error: El precio debe ser mayor que cero.") y evita que la operación continúe.

**Objetivos de Aprendizaje:**

* Modularización del código (separar la validación de la lógica principal).
* Creación de funciones reutilizables.
* Mejora de la experiencia de usuario a través de feedback claro.
* Programación defensiva para asegurar la integridad de los datos.

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.