💡 Descripción
Reorganizar la estructura del proyecto para mejorar la organización, escalabilidad y seguir las mejores prácticas de Python. Actualmente todos los archivos están en la raíz, lo que dificulta la escalabilidad. Se propone separar el código fuente, tests y documentación en carpetas dedicadas.
Funcionalidad a mejorar: Estructura general del proyecto
Cambio propuesto:
- Crear carpeta
src/ para código fuente (calculator. py, main.py, gui.py)
- Crear carpeta
tests/ para tests (test_*. py, conftest.py)
- Mantener
docs/ como está
- Crear
requirements.txt para gestión de dependencias
📁 Estructura Actual vs Propuesta
Actual:
team-practice/
├── calculator.py
├── main.py
├── gui.py
├── test_calculator.py
├── test_gui_calculator.py
├── conftest.py
├── docs/
├── .github/
└── ...
Propuesta:
team-practice/
├── src/ # NUEVO - Código fuente
│ ├── __init__.py
│ ├── calculator.py
│ ├── cli.py # Renombrar main.py
│ └── gui.py
├── tests/ # NUEVO - Tests
│ ├── __init__.py
│ ├── conftest.py
│ ├── test_calculator.py
│ └── test_gui.py # Renombrar test_gui_calculator.py
├── docs/ # Mantener como está
│ ├── USER_GUIDE.md
│ └── screenshots/
├── .github/
├── README.md
├── CHANGELOG.md
├── LICENSE
├── .gitignore
└── requirements.txt # NUEVO
📋 Tareas
Reorganización de archivos:
Nuevos archivos:
Actualización de código:
Verificación:
🎯 Beneficios
- ✅ Separación clara entre código, tests y documentación
- ✅ Escalabilidad: Fácil agregar más módulos
- ✅ Profesionalismo: Estructura estándar de Python
- ✅ Mejores imports:
from src.calculator import ...
- ✅ Testing estándar:
pytest tests/
- ✅ Gestión de dependencias clara con
requirements.txt
- ✅ Onboarding más fácil para nuevos colaboradores
📝 Notas Adicionales
tkinter NO se incluye en requirements.txt (viene con Python)
- La carpeta
docs/ se mantiene intacta
main.py se renombra a cli.py para mayor claridad
- Archivos de configuración permanecen en raíz
- Todo código nuevo debe ir en
src/ después de esta reorganización
- Todos los tests nuevos deben ir en
tests/
✅ Criterios de Aceptación
💡 Descripción
Reorganizar la estructura del proyecto para mejorar la organización, escalabilidad y seguir las mejores prácticas de Python. Actualmente todos los archivos están en la raíz, lo que dificulta la escalabilidad. Se propone separar el código fuente, tests y documentación en carpetas dedicadas.
Funcionalidad a mejorar: Estructura general del proyecto
Cambio propuesto:
src/para código fuente (calculator. py, main.py, gui.py)tests/para tests (test_*. py, conftest.py)docs/como estárequirements.txtpara gestión de dependencias📁 Estructura Actual vs Propuesta
Actual:
Propuesta:
📋 Tareas
Reorganización de archivos:
src/y mover:calculator.py→src/calculator.pymain.py→src/cli.py(renombrar)gui.py→src/gui.pytests/y mover:test_calculator.py→tests/test_calculator. pytest_gui_calculator.py→tests/test_gui.py(renombrar)conftest.py→tests/conftest.py__init__.pyensrc/ytests/Nuevos archivos:
requirements.txtcon contenido:src/__init__.pycon imports del paqueteActualización de código:
src/cli.py(decalculatorasrc.calculator)src/gui.py(decalculatorasrc.calculator)tests/test_calculator.py(asrc.calculator)tests/test_gui.py(asrc.gui).github/workflows/ci.ymlcon nuevas rutas de testsREADME.mdcon nuevos comandos de ejecución.gitignoreVerificación:
pytest tests/ -vpython src/gui.pypython src/cli.py🎯 Beneficios
from src.calculator import ...pytest tests/requirements.txt📝 Notas Adicionales
tkinterNO se incluye enrequirements.txt(viene con Python)docs/se mantiene intactamain.pyse renombra acli.pypara mayor claridadsrc/después de esta reorganizacióntests/✅ Criterios de Aceptación
requirements.txtcreado