devseniorlabpython / devseniorlabpython/hardware-shop

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

未關閉
#1 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
enhancement
主要語言
Python
星號
0
分支
4
PR 合併指標
30 天內沒有已合併 PR

描述

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.

貢獻指南

這個儲存庫沒有索引到貢獻指南

研究方向

先閱讀 main.py,找出產品輸入流程以及對 repo.create() 和 repo.update() 的呼叫。建立 validaciones.py,實作指定的產品驗證函式,然後在這些儲存庫呼叫之前整合它們。完成的標準是:無效的名稱、價格或庫存值會顯示具體錯誤,並阻止操作繼續執行。

由索引模型根據 Issue 內容生成。

評估

技術堆疊
python
領域
backend
Issue 類型
功能
難度
3/5
預估耗時
1-2 天
活躍度
停滯
描述清晰度
基本清楚
新手友好度
48/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。