devseniorlabpython / devseniorlabpython/hardware-shop

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

Offen
#1 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
enhancement
Vorherrschende Sprache
Python
Sterne
0
Forks
4
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

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.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.