Introducción al análisis estático de código en java para mejorar la calidad del software tomando como referencia mejores prácticas, estándares y optimización de código.
El documento describe las ventajas del Behavior Driven Development (BDD) sobre el Test Driven Development (TDD) y la automatización de pruebas. El BDD se centra en escribir historias del cliente en un lenguaje natural que luego se traducen a pruebas automatizadas. Esto ayuda a mejorar la comunicación entre el cliente y el equipo de desarrollo. El documento también explica cómo funciona el proceso BDD y menciona herramientas como Cucumber que permiten automatizar las historias del cliente.
Esta es la presentación que he preparado para mis compañeros de @NITSNETS en la que explico la integración del testing a todos los niveles de un proyecto y profundizo un poco más en la aplicación práctica para un entorno basado en Laravel.
El documento contiene 13 preguntas sobre conceptos relacionados con procesos de software como algoritmos, lenguajes de programación, compilación, depuración, ciclo de vida del desarrollo de software y documentación. Se solicita responder cada pregunta brindando detalles sobre cada tema.
El documento presenta definiciones y conceptos clave relacionados con testing de software. Define términos como error, defecto, fallo, casos de test, datos de test, y cubrimiento. También describe técnicas de derivación de casos de test como partición de equivalencias y análisis de condiciones de borde. Por último, proporciona lineamientos para el reporte de incidentes de manera concisa y clara.
Este documento presenta conceptos clave relacionados con el desarrollo de software e ingeniería de calidad como testing, calidad, errores, defectos y fallas. Explica las diferencias entre aseguramiento de calidad (QA) y control de calidad (QC), y describe diferentes técnicas de testing estático y dinámico como revisiones, partición de equivalencias y automatización de pruebas.
Este documento habla sobre cómo trabajar con código legado de manera efectiva. Explica que el código legado es código viejo que ha estado en producción por mucho tiempo y es difícil de mantener. Recomienda usar la técnica de "Cover and Modify" para hacer cambios, la cual implica identificar puntos de cambio, encontrar puntos de prueba, romper dependencias mediante "seams", escribir pruebas y luego hacer cambios y refactorización. Concluye que se puede trabajar código legado de forma metódica aplicando refactorización automática siempre
Introducción al análisis estático de código en java para mejorar la calidad del software tomando como referencia mejores prácticas, estándares y optimización de código.
El documento describe las ventajas del Behavior Driven Development (BDD) sobre el Test Driven Development (TDD) y la automatización de pruebas. El BDD se centra en escribir historias del cliente en un lenguaje natural que luego se traducen a pruebas automatizadas. Esto ayuda a mejorar la comunicación entre el cliente y el equipo de desarrollo. El documento también explica cómo funciona el proceso BDD y menciona herramientas como Cucumber que permiten automatizar las historias del cliente.
Esta es la presentación que he preparado para mis compañeros de @NITSNETS en la que explico la integración del testing a todos los niveles de un proyecto y profundizo un poco más en la aplicación práctica para un entorno basado en Laravel.
El documento contiene 13 preguntas sobre conceptos relacionados con procesos de software como algoritmos, lenguajes de programación, compilación, depuración, ciclo de vida del desarrollo de software y documentación. Se solicita responder cada pregunta brindando detalles sobre cada tema.
El documento presenta definiciones y conceptos clave relacionados con testing de software. Define términos como error, defecto, fallo, casos de test, datos de test, y cubrimiento. También describe técnicas de derivación de casos de test como partición de equivalencias y análisis de condiciones de borde. Por último, proporciona lineamientos para el reporte de incidentes de manera concisa y clara.
Este documento presenta conceptos clave relacionados con el desarrollo de software e ingeniería de calidad como testing, calidad, errores, defectos y fallas. Explica las diferencias entre aseguramiento de calidad (QA) y control de calidad (QC), y describe diferentes técnicas de testing estático y dinámico como revisiones, partición de equivalencias y automatización de pruebas.
Este documento habla sobre cómo trabajar con código legado de manera efectiva. Explica que el código legado es código viejo que ha estado en producción por mucho tiempo y es difícil de mantener. Recomienda usar la técnica de "Cover and Modify" para hacer cambios, la cual implica identificar puntos de cambio, encontrar puntos de prueba, romper dependencias mediante "seams", escribir pruebas y luego hacer cambios y refactorización. Concluye que se puede trabajar código legado de forma metódica aplicando refactorización automática siempre
Este documento habla sobre la importancia de las pruebas unitarias para asegurar que el código funcione correctamente y prevenir errores. Recomienda probar funcionalidad nueva, central y flujos comunes, así como límites. Las buenas pruebas deben ser rápidas, aisladas, repetibles y autovalidadas. También enfatiza verificar la arquitectura y usar el ciclo de rojo, verde y refactorizar para escribir pruebas efectivas.
Introducción al desarrollo guiado por comportamiento:
Un caso práctico en PHP con Behat y phpspec.
El desarrollo guiado por comportamiento (BDD) es una técnica de desarrollo ágil de software que nos permite crear una aplicación describiendo su funcionamiento desde la perspectiva de los inversores. Y es que usando BDD podemos establecer los criterios de aceptación de nuestro desarrollo, en un lenguaje muy parecido al natural, y validarlos de manera automatizada. Además podemos crear test unitarios que comprueben funcionalidades concretas de la aplicación.
En la primera parte de la charla veremos una introducción sobre el motivo que llevó a la creación de esta metodología, los conceptos en los que se basa y el proceso para llevarla a cabo.
A lo largo de la segunda parte revisaremos un ejemplo sencillo en PHP en el que se ha usado BDD apoyándonos en las herramientos Behat y phpspec.
.NET UY Meetup 4 - AOP & PostSharp by Bruno Bologna & Fabian Fernandez.NET UY Meetup
Este documento presenta una introducción a los conceptos y técnicas de programación orientada a aspectos (AOP). Explica que AOP permite separar las responsabilidades transversales del código principal mediante la definición de aspectos. Luego describe cómo PostSharp implementa AOP mediante el tejido de código IL que inyecta funcionalidad transversal en tiempo de compilación sin modificar el código objetivo. Finalmente, ofrece consideraciones sobre cómo aplicar aspectos a código existente con PostSharp.
El documento presenta información sobre desarrollo ágil y Scrum. Explica las responsabilidades de los miembros del equipo en un proyecto ágil, incluyendo comprender los principios ágiles, asegurar la excelencia técnica, probar el código, permitir el desarrollo evolutivo y reducir la deuda técnica. También describe conceptos como code smells, pruebas unitarias, TDD, patrones de diseño y arquitectura ágil.
Siguiendo con los apuntes de Ingeniería de Software para la Ingeniería en Computación, de la Universidad Tecnologica de la Mixteca en Huajuapan de León, Oaxaca México.
Este documento contiene apuntes de la XPWeek 2011 sobre cursos básico y avanzado de desarrollo dirigido por pruebas (TDD). Se proporcionan consejos sobre el algoritmo TDD, malinterpretaciones comunes, diseño, mantenimiento de pruebas, y arquitectura. También se discuten conceptos como programación en pareja, integración continua, y los valores fundamentales de la programación extrema como el pragmatismo y el trabajo en equipo.
Este documento presenta la transición de un tester tradicional a un tester ágil, describiendo las nuevas habilidades, roles y responsabilidades requeridas. Se destacan conceptos como el testing continuo, la automatización, el entendimiento del negocio, las pruebas exploratorias, la gestión del tiempo y la promoción de prácticas ágiles de calidad en el equipo.
Presentación del meetup de "Gasteiz Developers" acerca de cuidar el código, guiados por el libro "Clean Code: A Handbook of Agile Software Craftsmanship" de Robert C. Martin
El documento trata sobre la optimización de código en el proceso de compilación. Explica que la optimización de código tiene como objetivo mejorar el rendimiento del programa consumiendo menos recursos como CPU, memoria y ofreciendo mayor velocidad. También describe diferentes tipos de optimización como la optimización de alto nivel, independiente y dependiente de la máquina, y aspectos considerados en la optimización de bucles.
Este documento discute la importancia de mantener un alto nivel de calidad en el código a través del refactoring. Se mencionan varias métricas y "code smells" que pueden indicar problemas en el diseño del código y se proponen soluciones como extraer clases, mover métodos y utilizar patrones de diseño para mejorar la legibilidad, mantenibilidad y capacidad de extensión del código. También enfatiza la necesidad de invertir tiempo y recursos en refactoring para prevenir problemas a futuro y mantener un código de alta calidad.
Transparencias de la charla con la que participamos en las III Jornadas de Java de Alicante.
En las transparencias se muestran algunas herramientas para implantar metodologías ágiles en Java y se comentan algunas anécdotas e historias de diferentes implantaciones.
Conceptos básicos y aplicaciones prácticas de programación para SEOnacho mascort
Este documento presenta conceptos básicos y aplicaciones prácticas de programación para SEO. Explica por qué es útil aprender a programar para mejorar la comprensión de la web, automatizar procesos y comunicarse mejor con desarrolladores. Recomienda JavaScript y Python como lenguajes para principiantes y describe tipos de datos, operadores, condicionales, bucles y funciones. Luego, detalla tres casos prácticos de programación para SEO como comprobar URLs canónicas, realizar auditorías sitio web y consultas de tendencias de Google.
El documento describe diferentes métodos para realizar pruebas de calidad de software, incluyendo pruebas funcionales, no funcionales, unitarias, de integración y de sistema. También discute pruebas manuales versus automáticas y características deseables para pruebas de software como ser fácilmente entendible y extensible.
Este documento presenta información sobre la construcción y pruebas de software. Explica que la construcción de software involucra actividades como codificación, verificación y pruebas. También cubre temas como minimizar complejidad, anticipar cambios, usar estándares y consideraciones prácticas. Finalmente, describe diferentes tipos de pruebas de software como pruebas unitarias, de componentes, de sistema y de usuario.
CQRS (Command Query Responsibility Segregation) es un patrón arquitectónico que separa las operaciones de lectura y escritura en una aplicación, usando modelos de dominio separados y posiblemente bases de datos separadas. Esto permite mejor escalabilidad y rendimiento al poder optimizar de forma independiente las consultas y comandos. CQRS sigue el principio SOLID de responsabilidad única aplicado a nivel de arquitectura.
XP (Programación Extrema) es una metodología ágil para el desarrollo de software que se basa en valores como la comunicación, la simplicidad y el valor del feedback. Promueve prácticas como la programación en parejas, las entregas pequeñas y frecuentes, y la propiedad colectiva del código para mejorar la calidad del producto y la satisfacción del cliente. Aunque requiere adaptación al entorno, la XP puede ser una buena alternativa para proyectos que requieren rapidez y trabajo en equipo.
Este documento trata sobre la calidad en las pruebas de software. Explica que las pruebas son un mecanismo importante para asegurar la calidad de un software mediante la detección de errores. También describe diferentes tipos de pruebas como las pruebas unitarias y las de aceptación, e indica que es importante diseñar planes de pruebas que incluyan casos de prueba con datos correctos e incorrectos. Además, resalta que las pruebas deben realizarse lo antes posible durante el desarrollo para prevenir errores.
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...micarnavaltupatrimon
Mi Carnaval es la plataforma que permite conectar al usuario con la cultura y la emoción del Carnaval de Blancos y Negros en la ciudad de Pasto, esta plataforma brinda una amplia oferta de productos, servicios, tiquetería e información relevante para generarle valor al usuario, además, la plataforma realiza un levantamiento de datos de los espectadores que se registran, capturando su actividad e información relevante para generar la analítica demográfica del evento en tiempo real, con estos datos se generan modelos predictivos, que permiten una mejor preparación y organización del evento, de esta manera ayudando a reducir la congestión, las largas filas y, así como a identificar áreas de alto riesgo de delincuencia y otros problemas de seguridad.
Más contenido relacionado
Similar a Improving as a developer through code reviews
Este documento habla sobre la importancia de las pruebas unitarias para asegurar que el código funcione correctamente y prevenir errores. Recomienda probar funcionalidad nueva, central y flujos comunes, así como límites. Las buenas pruebas deben ser rápidas, aisladas, repetibles y autovalidadas. También enfatiza verificar la arquitectura y usar el ciclo de rojo, verde y refactorizar para escribir pruebas efectivas.
Introducción al desarrollo guiado por comportamiento:
Un caso práctico en PHP con Behat y phpspec.
El desarrollo guiado por comportamiento (BDD) es una técnica de desarrollo ágil de software que nos permite crear una aplicación describiendo su funcionamiento desde la perspectiva de los inversores. Y es que usando BDD podemos establecer los criterios de aceptación de nuestro desarrollo, en un lenguaje muy parecido al natural, y validarlos de manera automatizada. Además podemos crear test unitarios que comprueben funcionalidades concretas de la aplicación.
En la primera parte de la charla veremos una introducción sobre el motivo que llevó a la creación de esta metodología, los conceptos en los que se basa y el proceso para llevarla a cabo.
A lo largo de la segunda parte revisaremos un ejemplo sencillo en PHP en el que se ha usado BDD apoyándonos en las herramientos Behat y phpspec.
.NET UY Meetup 4 - AOP & PostSharp by Bruno Bologna & Fabian Fernandez.NET UY Meetup
Este documento presenta una introducción a los conceptos y técnicas de programación orientada a aspectos (AOP). Explica que AOP permite separar las responsabilidades transversales del código principal mediante la definición de aspectos. Luego describe cómo PostSharp implementa AOP mediante el tejido de código IL que inyecta funcionalidad transversal en tiempo de compilación sin modificar el código objetivo. Finalmente, ofrece consideraciones sobre cómo aplicar aspectos a código existente con PostSharp.
El documento presenta información sobre desarrollo ágil y Scrum. Explica las responsabilidades de los miembros del equipo en un proyecto ágil, incluyendo comprender los principios ágiles, asegurar la excelencia técnica, probar el código, permitir el desarrollo evolutivo y reducir la deuda técnica. También describe conceptos como code smells, pruebas unitarias, TDD, patrones de diseño y arquitectura ágil.
Siguiendo con los apuntes de Ingeniería de Software para la Ingeniería en Computación, de la Universidad Tecnologica de la Mixteca en Huajuapan de León, Oaxaca México.
Este documento contiene apuntes de la XPWeek 2011 sobre cursos básico y avanzado de desarrollo dirigido por pruebas (TDD). Se proporcionan consejos sobre el algoritmo TDD, malinterpretaciones comunes, diseño, mantenimiento de pruebas, y arquitectura. También se discuten conceptos como programación en pareja, integración continua, y los valores fundamentales de la programación extrema como el pragmatismo y el trabajo en equipo.
Este documento presenta la transición de un tester tradicional a un tester ágil, describiendo las nuevas habilidades, roles y responsabilidades requeridas. Se destacan conceptos como el testing continuo, la automatización, el entendimiento del negocio, las pruebas exploratorias, la gestión del tiempo y la promoción de prácticas ágiles de calidad en el equipo.
Presentación del meetup de "Gasteiz Developers" acerca de cuidar el código, guiados por el libro "Clean Code: A Handbook of Agile Software Craftsmanship" de Robert C. Martin
El documento trata sobre la optimización de código en el proceso de compilación. Explica que la optimización de código tiene como objetivo mejorar el rendimiento del programa consumiendo menos recursos como CPU, memoria y ofreciendo mayor velocidad. También describe diferentes tipos de optimización como la optimización de alto nivel, independiente y dependiente de la máquina, y aspectos considerados en la optimización de bucles.
Este documento discute la importancia de mantener un alto nivel de calidad en el código a través del refactoring. Se mencionan varias métricas y "code smells" que pueden indicar problemas en el diseño del código y se proponen soluciones como extraer clases, mover métodos y utilizar patrones de diseño para mejorar la legibilidad, mantenibilidad y capacidad de extensión del código. También enfatiza la necesidad de invertir tiempo y recursos en refactoring para prevenir problemas a futuro y mantener un código de alta calidad.
Transparencias de la charla con la que participamos en las III Jornadas de Java de Alicante.
En las transparencias se muestran algunas herramientas para implantar metodologías ágiles en Java y se comentan algunas anécdotas e historias de diferentes implantaciones.
Conceptos básicos y aplicaciones prácticas de programación para SEOnacho mascort
Este documento presenta conceptos básicos y aplicaciones prácticas de programación para SEO. Explica por qué es útil aprender a programar para mejorar la comprensión de la web, automatizar procesos y comunicarse mejor con desarrolladores. Recomienda JavaScript y Python como lenguajes para principiantes y describe tipos de datos, operadores, condicionales, bucles y funciones. Luego, detalla tres casos prácticos de programación para SEO como comprobar URLs canónicas, realizar auditorías sitio web y consultas de tendencias de Google.
El documento describe diferentes métodos para realizar pruebas de calidad de software, incluyendo pruebas funcionales, no funcionales, unitarias, de integración y de sistema. También discute pruebas manuales versus automáticas y características deseables para pruebas de software como ser fácilmente entendible y extensible.
Este documento presenta información sobre la construcción y pruebas de software. Explica que la construcción de software involucra actividades como codificación, verificación y pruebas. También cubre temas como minimizar complejidad, anticipar cambios, usar estándares y consideraciones prácticas. Finalmente, describe diferentes tipos de pruebas de software como pruebas unitarias, de componentes, de sistema y de usuario.
CQRS (Command Query Responsibility Segregation) es un patrón arquitectónico que separa las operaciones de lectura y escritura en una aplicación, usando modelos de dominio separados y posiblemente bases de datos separadas. Esto permite mejor escalabilidad y rendimiento al poder optimizar de forma independiente las consultas y comandos. CQRS sigue el principio SOLID de responsabilidad única aplicado a nivel de arquitectura.
XP (Programación Extrema) es una metodología ágil para el desarrollo de software que se basa en valores como la comunicación, la simplicidad y el valor del feedback. Promueve prácticas como la programación en parejas, las entregas pequeñas y frecuentes, y la propiedad colectiva del código para mejorar la calidad del producto y la satisfacción del cliente. Aunque requiere adaptación al entorno, la XP puede ser una buena alternativa para proyectos que requieren rapidez y trabajo en equipo.
Este documento trata sobre la calidad en las pruebas de software. Explica que las pruebas son un mecanismo importante para asegurar la calidad de un software mediante la detección de errores. También describe diferentes tipos de pruebas como las pruebas unitarias y las de aceptación, e indica que es importante diseñar planes de pruebas que incluyan casos de prueba con datos correctos e incorrectos. Además, resalta que las pruebas deben realizarse lo antes posible durante el desarrollo para prevenir errores.
Similar a Improving as a developer through code reviews (20)
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...micarnavaltupatrimon
Mi Carnaval es la plataforma que permite conectar al usuario con la cultura y la emoción del Carnaval de Blancos y Negros en la ciudad de Pasto, esta plataforma brinda una amplia oferta de productos, servicios, tiquetería e información relevante para generarle valor al usuario, además, la plataforma realiza un levantamiento de datos de los espectadores que se registran, capturando su actividad e información relevante para generar la analítica demográfica del evento en tiempo real, con estos datos se generan modelos predictivos, que permiten una mejor preparación y organización del evento, de esta manera ayudando a reducir la congestión, las largas filas y, así como a identificar áreas de alto riesgo de delincuencia y otros problemas de seguridad.
Buscador de Eventos y Fiestas en España - Buscafiestaholabuscafiesta
Buscafiesta.es es el buscador líder en España para fiestas y eventos, diseñado para satisfacer las necesidades tanto de organizadores como de asistentes. Este innovador software ofrece una plataforma integral que permite a los organizadores de eventos añadir, gestionar y promocionar sus actividades de manera totalmente autónoma, facilitando la visibilidad y escalabilidad de sus eventos.
Buscafiesta.es no solo conecta a los organizadores con su público objetivo, sino que también ofrece herramientas de marketing y análisis que ayudan a maximizar el impacto de cada evento. Ya sea para una fiesta local, un concierto multitudinario o un evento corporativo, Buscafiesta.es es la solución definitiva para hacer de cada evento un éxito rotundo.
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...micarnavaltupatrimon
Mi Carnaval es la plataforma que permite conectar al usuario con la cultura y la emoción del Carnaval de Blancos y Negros en la ciudad de Pasto, esta plataforma brinda una amplia oferta de productos, servicios, tiquetería e información relevante para generarle valor al usuario, además, la plataforma realiza un levantamiento de datos de los espectadores que se registran, capturando su actividad e información relevante para generar la analítica demográfica del evento en tiempo real, con estos datos se generan modelos predictivos, que permiten una mejor preparación y organización del evento, de esta manera ayudando a reducir la congestión, las largas filas y, así como a identificar áreas de alto riesgo de delincuencia y otros problemas de seguridad.
2. I am Anallely Olivares
Backend developer
You can find me at @tsunllly and
anallely.olivares@globant.com
Hello!
3. Mi código puede ser
mejorado y mucho!
Una revisión de código bastó para darme cuenta
11
4. Conocía teoría
◉ Buenos nombres
◉ Funciones: una sola cosa, bien hecha
◉ DRY
Mi código funcionaba, pero a pesar de todo bastó
una revisión de código para darme cuenta de
cuánto podía ser mejorado...
6. A partir de esta experiencia empecé
◉ a aplicar ese estilo al siguiente código
◉ a valorar el conocimiento del equipo
◉ a ver como una inversión el tiempo dedicado a
las revisiones de código
7. Elementos de un code review
Hay que conocerlos para realmente sacar provecho de la práctica
12
8. Actors
CODER
● Una sola funcionalidad o aspecto
● Cuidar número de líneas
● Ser claro en el objetivo del
código
● Buenos commit messages
● Pre code review
○ Formato
○ Nombrado de variables
REVIEWER
● Actitud positiva
● Entender el problema a resolver
● Priorizar
● Aportar soluciones
17. ● Refactor subsystem X for readability
● Update getting started documentation
● Remove deprecated methods
● Release version 1.0.0
● If applied, this commit will refactor subsystem X for readability
● If applied, this commit will update getting started documentation
● If applied, this commit will remove deprecated methods
● If applied, this commit will release version 1.0.0
● If applied, this commit will merge pull request #123 from user/branch
Close the door!
18. “
Meaningful: Describe what was
done so we can effectively glance
through the history and find what
we need.
?/7
19. Recomendaciones adicionales
◉ Usar una herramienta como JIRA
◉ En los PR/commits podemos agregar ID ticket
◉ No commits sin bug/tarea/historia asociada
21. Revisar de 200 a 400 líneas / 60 minutos
◉ El cerebro solo puede procesar efectivamente
estas líneas por evento
◉ Después de las 400 líneas el porcentaje de
defectos encontrados disminuye
◉ 200 - 400 líneas en 60 minutos -> 70-90% defect
discovery
22. Es mejor cuando el autor comenta
◉ Antes de iniciar el code review hace anotaciones
de lo que hizo y por qué
◉ Brindan contexto
◉ Commit messages
◉ Se encuentran errores aún antes de empezar
23.
24. Usar checklists
◉ Disminuir errores frecuentes
◉ Organizar prioridades
◉ Recordar omisiones
◉ Se puede ir incrementando con la experiencia
25. Establecer un proceso para la corrección
◉ Recuperar tiempo invertido
◉ Code review tool
◉ Tomarlo en cuenta en el flujo kanban o scrum
◉ Incrementar pruebas unitarias
◉ Historial de bugs
26.
27. Establecer una cultura positiva
◉ Cultura de colaboración
◉ Estar en el mismo contexto
◉ No críticas negativas
◉ Bugs son cosa de todos los días
◉ Mejorar la calidad del código / aprender
◉ Romper malos hábitos
◉ Junior -> Senior
29. También es la #1 para incrementar la colaboración
◉ Share technique knowledge
◉ Share project knowledge
◉ Mejora la sinergia
◉ Entender procesos mentales
53. More basics
◉ ¿Está debidamente comentado?
◉ ¿Variables no usadas?
◉ ¿Logging innecesario?
◉ ¿Las condiciones de paro son correctas?
◉ ¿Funciona en los edge cases?
◉ ¿No hay librerías o código que ya hace esa
función? → filters :(
57. Cultura positiva
◉ No seas overcrítico
◉ Se realista
◉ No te burles
◉ Se constructivo
◉ Aporta soluciones: pseudocódigo, patches
◉ Soluciones primero, estilo después
◉ No digas algo solo para no quedarte callado
59. ◉ 9 Lessons From A Review Of JavaScript Code
https://www.smashingmagazine.com/2011/10/lessons-from-a-review-of-javas
cript-code/
◉ Best Practices for Code Review
https://smartbear.com/learn/code-review/best-practices-for-peer-code-revie
w/
◉ The State of Code Review 2017
https://smartbear.com/resources/ebooks/the-state-of-code-review-2017/?ut
m_source=x-related
◉ How to Write a Git Commit Message https://chris.beams.io/posts/git-commit/
Fuentes
60. Any questions ?
You can find me at
◉ anallely.olivares@globant.com
◉ @tsunllly
Thanks!