Adiós a los commits de WIP

Después de muchos años trabajando en equipo y desarrollando proyectos complejos soy muy consciente de lo importante que es que mis commits contengan la información necesaria para entender el cambio que he hecho por varias razones:

  1. Nos ayudan a entender qué pretendemos conseguir con las lineas que hemos añadido, modificado o eliminado, lo que facilita la revisión de ese código y permite que proporcionemos un feedback más efectivo.

  2. Sirven como una forma de documentación, ayudándonos a entender los cambios que se han introducido y, si los evaluamos en conjunto con los commits pasados, nos ayudan a hacernos una idea del contexto en el que se tomaron esas decisiones.

  3. Son cruciales cuando vamos a hacer un rollback.

Hay bastantes más pero tampoco quiero dar mucho la brasa con este tema porque hay gente que sabe más que yo y lleva hablando años de esto.

Personalmente, creo que cuanto más tendemos hacia el trabajo asíncrono y a utilizar técnicas como Trunk Base Development los commits cobran más importancia; pero quiero ser sincera, en algunas ocasiones para mi son lo último de lo que me preocupo. Si hay algo fallando en producción es muy probable que mi commit sea algo así "Fix X failing" y me quedo tan a gusto 😎, o si estamos haciendo pair programming y estamos cambiando el driver puede que mi commit sea solo "WIP", incluso a veces si estoy muy frustrada intentando hacer que algo funcione puede que ponga "Another try to make it work" y, la verdad es que esto no es muy útil para el futuro, ni aporta ningún contexto.

Jetbrains AI assistant al rescate

Quizá la gente que ya lleve algún tiempo trabajando con Copilot o algún otro asistente que utilice Inteligencia Artificial no se sorprenda con esto, en mi caso, mi relación con la AI se basa en preguntarle cosas a chatGPT, probarlas y repetir el proceso hasta que lo que me dice funciona, o mejorar los textos que escribo.

Pero bueno al tema, en la última versión EAP de IntelliJ Ultimate se ha incorporado un asistente que podría poner fin a mis 💩 commits y utilizarlo es muy muy sencillo, especialmente si estas acostumbrada a utilizar el IDE para hacer commits, no es mi caso, a mi me gusta usar la terminal pero estoy cambiando y renovandome 💁‍♀️

Veamos como utilizarlo:

  1. Accedemos a la sección de Commit de nuestro IDEA, en mi caso puedo usar los shortcuts Cmd+0 o Cmd+k

    Captura de pantalla de IntelliJ IDEA de cómo acceder a la sección de Commit mediante el menú lateral

  2. Una vez ahí seleccionamos los ficheros que queramos commitear, es importante resaltar que lo mejor es ir subiendo pequeños cambios, de esta manera los mensajes serán más completos

    Captura de pantalla de la sección de commit de IntelliJ IDEA resaltando la zona con todos los ficheros modificados

  3. Para escribir el mensaje de commit utilizando el asistente tenemos que pulsar en las estrellas moradas que hay sobre la parte donde escribiriamos

    Captura de pantalla de la sección commit de IntelliJ IDEA resaltando las estrells moradas para utilizar el asistente al escribir mensajes de commit

  4. Si es la primera vez que usamos el asistente nos pedirá que hagamos Log in, y voilá! ya tenemos nuestro commit message detallado, a continuación encontrareís un enlace para visualizar el ejemplo explicado

Podéis encontrar más información sobre el asistente de IntelliJ en su blog

0
Subscribe to my newsletter

Read articles from Isabel Garrido Cardenas directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Isabel Garrido Cardenas
Isabel Garrido Cardenas

🚀 Senior Software Engineer | Barcelona, Spain 🌍 🛠️After several years of experience developing APIs in high-traffic environments and learning about testing, best practices, architecture, and more with PHP, I changed to Kotlin because the programming language is just a tool that allows us to give value to our users. 🎤 Sharing knowledge is one of my passions. I’ve participated in different online and in-person events talking about testing, also taught about it at university for three years, as well as architecture and best practices. Those are topics that I also share with my teammates. 👩🏻‍💻 After starting with Kotlin, I also create a couple of courses on how to start with Kotlin and develop an API following ports&adapters architecture with Kotlin. 🌟In recent years, I joined Step4ward as a mentor and now as a co-organizer, a community dedicated to helping grow and succeed women in technical careers.