Este proyecto tiene como objetivo implementar un solver de ecuaciones básico para hojas de cálculo utilizando Python. Se desarrollará una aplicación que permita resolver ecuaciones matemáticas en el contexto de un excel, evaluando fórmulas y dependencias entre celdas.
- Implementar algoritmos de resolución de ecuaciones en Python
- Trabajar con metodologías de desarrollo colaborativo (Git/GitHub)
- Aplicar principios de modularidad en Python
excel-solver/
├── src/
│ └── solver/
│ ├── solver.py # Lógica principal y entrada
│
├── /tests/
│ ├── test.py
├── pyproject.toml # Configuración del paquete
├── README.md # Este archivo
└── .gitignore # Archivos a ignorar
- Parser de fórmulas: Analizar y parsear ecuaciones de celdas
- Evaluador de expresiones: Resolver operaciones matemáticas básicas
- Gestión de dependencias: Identificar relaciones entre celdas
- Solver iterativo: Resolver sistemas de ecuaciones
- Mostrar resultados: Visualizar soluciones por consola
- Validación de entrada: Verificar formato de ecuaciones
git clone https://github.com/ACMUD/ECSolver
cd excel-solver
# Crear entorno virtual
python -m venv venv
# Activar entorno virtual
# En Windows:
venv\\Scripts\\activate
# En Linux/Mac:
source venv/bin/activate
# Instalar dependencias
pip install -r requirements.txt
-
Crear una rama para cada nueva funcionalidad:
git checkout -b feature/nombre-funcionalidad
-
Realizar commits pequeños y descriptivos:
git add . git commit -m \"feat: implementar parser de fórmulas básico\"
-
Subir la rama al repositorio remoto:
git push origin feature/nombre-funcionalidad
-
Crear Pull Request en GitHub para revisión
Seguimos el estándar de Conventional Commits:
feat:
nueva funcionalidadfix:
corrección de erroresdocs:
cambios en documentacióntest:
agregar o modificar testsrefactor:
refactorización de código
Ejemplos:
feat: agregar evaluador de expresiones matemáticas
fix: corregir error en detección de dependencias circulares
docs: actualizar README con ejemplos de uso
test: agregar tests para clase Solver
main
: rama principal (código estable)develop
: rama de desarrollo (integración)feature/
: ramas para nuevas funcionalidades
Cada PR debe incluir:
- Descripción clara de los cambios realizados
- Documentación actualizada si es necesario
- Revisión de al menos un compañero
## Descripción
Breve descripción de los cambios realizados.
## Tipo de cambio
- [ ] Nueva funcionalidad
- [ ] Corrección de error
- [ ] Refactorización
- [ ] Actualización de documentación
## Checklist
- [ ] Mi código sigue el estilo del proyecto
- [ ] He realizado una auto-revisión
- [ ] He comentado el código en áreas complejas
- [ ] Mis cambios no generan nuevas advertencias
- Leer el código existente antes de empezar
- Mantener tus PRs pequeños y enfocados
- Documentar funciones complejas
- Pedir ayuda si hay complicaciones
Este proyecto está bajo la Licencia MIT. Ver el archivo LICENSE para más detalles.
¡Happy coding! 🐍📊