Esta semana en el curso OSD600 la experiencia ha sido muy interesante. Después de un tiempo sin escribir código desde cero he retomado esa habilidad esencial para cualquier desarrollador. Gran parte del código que había escrito durante el año provenía de mi periodo de co op trabajando en C++ o de contribuir a proyectos de compiladores como LLVM, pero en este laboratorio desarrollé una herramienta rust cli que busca ser modular, accesible y fácil de mantener.

Mi trabajo con Rust fue deliberado. Aunque al principio la curva de aprendizaje es pronunciada, la seguridad en tiempo de ejecución y el ecosistema con cargo hacen que, una vez funciona, el mantenimiento sea más cómodo que en entornos tradicionales. Originalmente consideré OCaml, pero decidí que la barrera para nuevos colaboradores sería aún mayor, por eso opté por Rust para equilibrar robustez y adopción.

Durante el proceso realicé revisiones de código y recibí retroalimentación de compañeros. En general prefiero un enfoque asíncrono para las revisiones de código, porque en entornos profesionales los desarrolladores senior suelen tener agendas cargadas y la flexibilidad facilita respuestas reflexivas. Las revisiones asincrónicas permiten documentar problemas, adjuntar ejemplos de pruebas y dar contexto sin interrumpir el flujo de trabajo de nadie.

Probar y revisar código ajeno fue instructivo. Revisar no es lo mismo que implementar desde cero: exige atención a detalles, una buena capacidad de depuración mental y paciencia para interpretar decisiones de diseño ajenas. Algunos problemas son obvios, otros requieren reproducir escenarios de ejecución o entender librerías externas. En mi caso encontré varios temas triviales como falta de documentación, funcionalidades centrales no implementadas y mensajes al usuario poco claros, algo habitual en proyectos en fases tempranas.

Al revisar el repositorio de un compañero detecté problemas concretos con la coincidencia de patrones usando la crate globset. Los patrones pasados por la CLI no coincidían correctamente durante el recorrido de archivos y directorios. La solución fue calcular la ruta relativa de cada archivo antes de aplicar las expresiones glob, lo que corrigió la compatibilidad con las coincidencias. Aproveché para leer sobre el funcionamiento de glob y expresiones regulares para entender mejor la causa del fallo.

Otro hallazgo fue que la bandera -o no estaba implementada. En lugar de dejarla, añadí un modo básico de generación de salida reutilizando la infraestructura existente de manejo de archivos. Todaviya quedan tareas por delante como volcar el contenido de cada archivo descubierto; por ahora muestro las rutas encontradas y en semanas siguientes planeo procesar el contenido correctamente.

También añadí pruebas unitarias y una tuberia CI CD muy elemental para evitar romper funcionalidades al añadir cambios. Entiendo que para un laboratorio eso puede ser extra, pero no puedo implementar nuevas características sin asegurar que no se rompa lo existente. Si otros estudiantes tienen problemas con la pipeline puedo relajar temporalmente los tests para facilitar la adopción de estas prácticas.

En resumen, pude corregir los problemas identificados y la experiencia de escribir en Rust fue refrescante gracias a sus herramientas. Aprendí que la claridad en la documentación, la inclusión de pruebas y la consistencia en el manejo de rutas y patrones son claves para que otros contribuyan sin fricciones.

Como objetivos personales de curso quiero hacer mi proyecto más accesible para personas que no conocen el ecosistema Rust. Hacer que la base de código sea fácil de entender y aportar será crucial para el éxito colaborativo.

En Q2BSTUDIO somos una empresa de desarrollo de software que ofrece aplicaciones a medida y software a medida pensados para resolver necesidades reales de negocio. Nos especializamos en inteligencia artificial aplicada a empresas, agentes IA y soluciones de analitica avanzada, junto con servicios de ciberseguridad y pentesting para proteger activos digitales. Ofrecemos además servicios cloud aws y azure, automatizacion de procesos y servicios de inteligencia de negocio con Power BI.

Nuestro enfoque combina experiencia técnica y buenas prácticas de ingeniería para entregar productos escalables. Si buscas un socio para el desarrollo de aplicaciones personalizadas puedes conocer más sobre nuestras capacidades en el area de desarrollo de aplicaciones a medida y si te interesa explorar soluciones de inteligencia artificial para tu empresa visita nuestra pagina sobre inteligencia artificial. Integrando ia para empresas, agentes IA y servicios de inteligencia de negocio como power bi ayudamos a transformar datos en decisiones accionables, mientras aseguramos la infraestructura con prácticas de ciberseguridad y servicios cloud aws y azure.

Palabras clave que describen nuestros servicios: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi.

Si quieres colaborar, contribuir a proyectos open source o necesitas una solución a medida, en Q2BSTUDIO estamos listos para ayudarte a llevar tu idea a producción con calidad, seguridad y escalabilidad.

David