Descripción
En tasks.py se integraron varias mejoras (función next_id(), validación robusta de task_id, manejo de tareas inválidas y mensajes con emojis). Sin embargo, los cambios introducen inconsistencias con el comportamiento esperado del sistema:
- add_task() ahora retorna True/False en algunos casos, pero no está claro si el flujo principal (main.py) espera ese retorno o no.
- complete_task() y delete_task() aparecen con dos versiones: una anterior que solo imprimía “Función no disponible por el momento” y otra ya implementada con lógica real.
- Se cambiaron mensajes/prints (con emojis) y se modificó la forma de calcular el id (len(tasks)+1 → next_id(tasks)), lo cual puede afectar pruebas o funcionamiento si el resto del programa asume el método anterior.
- list_tasks() ahora filtra tareas que no sean diccionario, pero el formato esperado del JSON debe quedar alineado con eso.
Archivos afectados
- tasks.py (principalmente)
Evidencia observada (según capturas)
- Se agrega next_id(tasks) para crear IDs únicos aunque se eliminen tareas.
- validar_task_id() valida: entero, mayor que 0, maneja errores sin “romper”.
- add_task() valida None, espacios y duplicados, y retorna False en error.
- complete_task() y delete_task() ya hacen cambios reales, pero antes existía versión “no disponible”.
Problema / Riesgo
- Si main.py o las pruebas esperan que add_task() solo haga print() y no regrese valores (o que regrese None), puede haber fallos lógicos.
- Si quedaron restos de funciones antiguas o duplicadas (definidas dos veces), Python tomará la última definición y puede generar confusión en el equipo.
- Cambiar el sistema de IDs puede romper consistencia si el JSON ya tiene IDs o si se esperan consecutivos.
Resultado actual
Código con mejoras, pero no está claro si es consistente con el resto del sistema (menú principal y pruebas).
Resultado esperado
-
Unificar el comportamiento del módulo tasks.py con el flujo de main.py:
-
Definir claramente si las funciones retornan True/False o solo imprimen.
-
Evitar duplicidad de funciones (solo debe existir una implementación final).
-
Asegurar que el sistema de IDs (con next_id) esté alineado con el formato del JSON y el resto del programa.
Criterios de aceptación
- tasks.py no tiene funciones duplicadas (solo una versión final de cada función).
- add_task, complete_task, delete_task tienen retornos consistentes (o se documenta su uso).
- main.py funciona correctamente con esas funciones (agregar/listar/completar/eliminar).
- IDs se generan correctamente aunque se eliminen tareas (sin repetir ID).
- list_tasks() no truena con datos corruptos y muestra advertencia cuando encuentre tareas inválidas.
Descripción
En tasks.py se integraron varias mejoras (función next_id(), validación robusta de task_id, manejo de tareas inválidas y mensajes con emojis). Sin embargo, los cambios introducen inconsistencias con el comportamiento esperado del sistema:
Archivos afectados
Evidencia observada (según capturas)
Problema / Riesgo
Resultado actual
Código con mejoras, pero no está claro si es consistente con el resto del sistema (menú principal y pruebas).
Resultado esperado
Unificar el comportamiento del módulo tasks.py con el flujo de main.py:
Definir claramente si las funciones retornan True/False o solo imprimen.
Evitar duplicidad de funciones (solo debe existir una implementación final).
Asegurar que el sistema de IDs (con next_id) esté alineado con el formato del JSON y el resto del programa.
Criterios de aceptación