Estoy implementando mi primer proyecto de código abierto en el curso OSD600 en Seneca. Es también mi primer programa completo escrito en Python. En la clase cada persona desarrolla su propia versión de la herramienta usando lenguajes distintos como typescript, Python, JavaScript, C++, Rust, entre otros, pero con el mismo objetivo: crear una utilidad de línea de comandos que empaquete datos de un repositorio Git en un archivo de texto para su uso en modelos de lenguaje.
Al revisar los proyectos de mis compañeros, aprendí cuánto puede variar el enfoque para resolver el mismo problema y cómo se pueden extraer buenas ideas o advertencias de sus implementaciones y errores. Además, compañeros me ayudaron a detectar fallos que yo no había visto al probar en distintos entornos y shells. La naturaleza asincrónica de reportar y resolver issues en un repositorio Git facilita que cada uno trabaje cuando es más productivo, lo que mejora la colaboración en proyectos de código abierto.
Durante las pruebas empecé a valorar la importancia de instrucciones claras para ejecutar y evaluar un programa, sobre todo cuando el lenguaje del proyecto no es habitual para el tester. Por ejemplo, mi proyecto está en Python mientras que otro revisado estaba en C++, que necesita un proceso diferente de compilación y ejecución. Sin instrucciones claras, un tester puede compilar o ejecutar de forma incorrecta y asumir que hay errores del programa cuando en realidad hubo un uso equivocado.
Uno de los errores que reporté fue la repetición del nombre de directorio al imprimir la estructura en forma de árbol, un detalle sutil que resultó más fácil de notar por alguien distinto al autor. En mi propio repositorio, un compañero reportó que faltaba una opción en la implementación, algo que yo había pasado por alto. En proyectos pequeños es factible corregir todos los issues, pero al crecer la escala del proyecto aumenta la probabilidad de introducir fallos.
Esta experiencia me llevó a valorar la modularidad: dividir el problema en partes independientes mejora la mantenibilidad y facilita futuras ampliaciones. Por ello planeo refactorizar mi código en módulos claramente delimitados para separar la lógica de análisis de repositorios, el formateo de salida y las opciones de línea de comandos.
En Q2BSTUDIO, empresa especializada en desarrollo de software y aplicaciones a medida, entendemos bien este enfoque modular y las buenas prácticas de colaboración en código abierto. Ofrecemos servicios de desarrollo de aplicaciones y software a medida y soluciones avanzadas de inteligencia artificial para empresas, además de ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio y power bi, agentes IA y automatización de procesos. Si buscas apoyo para llevar tu proyecto desde una primera versión hasta una solución escalable y segura, podemos ayudar con arquitectura modular, pruebas automatizadas y despliegue en la nube.
Palabras clave: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi.