Underbee

Conoce Conventional Commits

En el siempre cambiante mundo del desarrollo de software, la comunicación clara y efectiva entre los miembros del equipo es fundamental para el éxito del proyecto.

Uno de los desafíos más comunes en este sentido es la consistencia en los mensajes de confirmación (commits) en los sistemas de control de versiones como Git. Para abordar este problema, ha surgido un estándar emergente conocido como «Conventional Commits». En este artículo, exploraremos en detalle qué son los Conventional Commits, cómo funcionan y por qué están ganando popularidad en la comunidad de desarrollo de software.

¿Qué son los Conventional Commits?

Los Conventional Commits son un estándar para escribir mensajes de confirmación en proyectos de software. La idea central es que cada mensaje de confirmación debe seguir un formato específico y contener información estructurada sobre el cambio que se está realizando. Esto facilita la comprensión rápida y precisa de los cambios realizados en el código, lo que a su vez mejora la colaboración y la gestión del proyecto.

Formato de los Conventional Commits

El formato de un Conventional Commit consta de tres partes principales: el encabezado, el cuerpo opcional y el pie de página opcional. Veamos un ejemplo de cómo se vería un Conventional Commit:

				
					<tipo>[área opcional]: <descripción>

[cuerpo opcional]

[pie de página opcional]

				
			

A continuación, desglosamos cada parte:

  • Tipo: Indica el propósito del cambio realizado. Algunos tipos comunes incluyen «feat» para nuevas características, «fix» para correcciones de errores y «docs» para cambios en la documentación.
  • Área (opcional): Indica la parte del código afectada por el cambio.
  • Descripción: Breve descripción del cambio realizado.
  • Cuerpo (opcional): Detalles adicionales sobre el cambio, como el contexto o la motivación.
  • Pie de página (opcional): Referencias cruzadas a problemas, solicitudes de extracción u otros recursos relacionados.

Veamos un ejemplo práctico de un Conventional Commit:

				
					feat: Agregar función de inicio de sesión

Se ha añadido la funcionalidad de inicio de sesión para permitir que los usuarios accedan al sistema utilizando sus credenciales.

				
			

Beneficios de los Conventional Commits

La adopción de Conventional Commits ofrece una serie de beneficios significativos para los equipos de desarrollo de software:

  1. Claridad y consistencia: Los mensajes de confirmación siguen un formato predefinido, lo que facilita su lectura y comprensión para todos los miembros del equipo.
  2. Búsqueda y filtrado mejorados: Los Conventional Commits permiten realizar búsquedas y filtrados precisos en el historial de cambios, lo que facilita la identificación de cambios específicos.
  3. Automatización de tareas: Al seguir un formato estandarizado, es posible automatizar ciertas tareas de gestión de versiones y generación de registros de cambios.
  4. Integración con herramientas: Los Conventional Commits se integran fácilmente con herramientas de seguimiento de problemas, solicitudes de extracción y otras herramientas de gestión de proyectos.

Cómo empezar con Conventional Commits

Para comenzar a utilizar Conventional Commits en un proyecto, los equipos pueden seguir estos pasos:

  1. Elegir una convención: Decidir qué convención de mensajes de confirmación seguir, como la convención estándar o una adaptada específicamente para las necesidades del proyecto.
  2. Informar al equipo: Comunicar la convención elegida a todos los miembros del equipo y proporcionar orientación sobre cómo seguir la convención.
  3. Configurar herramientas: Configurar herramientas como Git y editores de código para que faciliten la creación de mensajes de confirmación conforme a la convención elegida.
  4. Practicar y mejorar: Fomentar el uso consistente de Conventional Commits y revisar periódicamente la convención para realizar mejoras según sea necesario.

Herramientas para implementar Conventional Commits en tu proyecto

Ahora que hemos explorado qué son los Conventional Commits y por qué son importantes, es el momento de sumergirnos en las herramientas disponibles para facilitar su implementación en nuestros proyectos.

Desde complementos para Git hasta integraciones con editores de código, existen varias herramientas que pueden ayudar a los equipos a adoptar y mantener la convención de mensajes de confirmación. A continuación, examinaremos algunas de las herramientas más populares y cómo pueden ser utilizadas en conjunto con Conventional Commits.


Gitemoji

Gitemoji es una herramienta que combina Conventional Commits con emojis para proporcionar una forma visual y divertida de escribir mensajes de confirmación. Cada tipo de cambio tiene asignado un emoji específico, lo que facilita la identificación rápida del propósito del cambio. Veamos un ejemplo de cómo se vería un mensaje de confirmación utilizando Gitemoji:

				
					✨ feat: Agregar función de inicio de sesión

Se ha añadido la funcionalidad de inicio de sesión para permitir que los usuarios accedan al sistema utilizando sus credenciales.

				
			

En este ejemplo, el emoji «✨» representa una nueva característica agregada, seguida de la descripción del cambio.


Commitlint

Commitlint es una herramienta que ayuda a hacer cumplir las convenciones de mensajes de confirmación mediante reglas personalizables. Puede configurarse para verificar automáticamente los mensajes de confirmación antes de que se realice el commit y proporcionar retroalimentación en caso de que no cumplan con las convenciones establecidas. Veamos un ejemplo de cómo configurar y utilizar Commitlint:

Primero, instalamos Commitlint en nuestro proyecto:

				
					npm install --save-dev @commitlint/{config-conventional,cli}

				
			

Luego, creamos un archivo de configuración llamado commitlint.config.js en la raíz del proyecto:

				
					module.exports = {extends: ['@commitlint/config-conventional']};

				
			

Ahora, cada vez que intentemos hacer un commit, Commitlint verificará si el mensaje de confirmación cumple con las convenciones establecidas y nos informará si hay algún problema.


Husky

Husky es una herramienta que permite ejecutar scripts predefinidos en respuesta a ciertos eventos de Git, como antes de hacer un commit o antes de hacer un push. Esto permite integrar fácilmente herramientas como Commitlint en el flujo de trabajo de Git. Veamos un ejemplo de cómo configurar Husky para que ejecute Commitlint antes de cada commit:

Primero, instalamos Husky en nuestro proyecto:

				
					npm install --save-dev husky
				
			

Luego, configuramos Husky en el archivo package.json:

				
					{
  "husky": {
    "hooks": {
      "pre-commit": "npm run lint-commit"
    }
  },
  "scripts": {
    "lint-commit": "commitlint -E HUSKY_GIT_PARAMS"
  }
}

				
			

Con esta configuración, cada vez que intentemos hacer un commit, Husky ejecutará Commitlint para verificar si el mensaje de confirmación cumple con las convenciones establecidas.

Otras herramientas y recursos

Además de las herramientas mencionadas anteriormente, existen otras opciones disponibles para facilitar la implementación de Conventional Commits en tus proyectos. Por ejemplo, algunos editores de código ofrecen complementos que proporcionan sugerencias y validaciones en tiempo real mientras escribes mensajes de confirmación.

También es importante mencionar que muchos servicios de alojamiento de repositorios, como GitHub y GitLab, ofrecen integraciones con Conventional Commits. 

Estas integraciones pueden proporcionar características adicionales, como la generación automática de registros de cambios y la vinculación de mensajes de confirmación con problemas y solicitudes de extracción.

No hay comentarios on Conoce Conventional Commits

Deja tu comentario

¡Síguenos!

Estamos presentes en las principales Redes Sociales.

Solicita una cotización.
¡Sin compromiso! 💰 Bee free!

Ya sea que tengas una solicitud de cotización, necesites una consulta, o simplemente quieras conocer al equipo, escríbenos y nos comunicaremos contigo lo antes posible.

Y aquí, gente ❤️ increíble

Orgullosos y satisfechos de trabajar con ellos. Echa un vistazo por aquí >