Cómo hacer que sus revisiones de código sean divertidas (y no terribles)

He realizado una buena cantidad de revisiones de código. Por parte justa, me refiero a mucho. ¿Alguna vez has revisado el código de una función épica? Yo tengo. No fue una gran experiencia, porque cuando se revisó el archivo número 100, ya estaba fatigado mirando el código. Estuve tan cerca de decir "Sí, me parece bien" y luego dar mi aprobación.

Pero no es así como funcionan las revisiones de código. Una vez que hayas comenzado, debes ceñirte a él y terminarlo hasta el final. Claro, puede tomar descansos, pero luego comienza a perder el contexto y tiene que comenzar de nuevo, así:

Aunque estoy divagando. El dolor no es de lo que se supone que deba hablar.

Entonces, ¿cómo lo hacemos, digamos, menos espantoso? En primer lugar, incluso antes de realizar la solicitud de extracción, e incluso antes de comenzar a codificar, deberíamos esforzarnos por dividir las funciones en pequeñas partes agradables. El desarrollo y las implementaciones se vuelven más rápidos, ya que siempre es más fácil implementar una mini función que una épica. Esto hace que las revisiones de código sean más fáciles y rápidas de realizar, ya que los cambios son bastante pequeños.

¡Excelente! Espero les haya gustado mi artículo. Vámonos todos a casa ...

¡Espera, detente !

Se trataba de cómo hacerlo menos espantoso, pero ¿qué tal si lo hacemos divertido?

Usar memes en revisiones de código

Descargo de responsabilidad: los siguientes son mis propios pensamientos y no los de mi empleador.

Solo quería sacar eso del camino, porque este puede ser un tema controvertido. De todos modos, hacemos que nuestras revisiones de código sean alegres agregando memes.

¡Puedo escuchar tus ojos rodar desde aquí! Sin embargo, escúchame. ¿Qué mejor explicación que vincular a otra persona que con mucho gusto ya lo explicó?

Es el tono lo que ayuda a que sea divertido tanto para el revisor como para la persona cuyo código se está revisando. Un ejemplo sería el primer "elemento básico" en mi image wallet. Noté que a Rubocop le faltaban algunos espacios dobles en nuestros archivos, por lo que cuando alguien envió una solicitud de extracción con un montón de espacio en blanco adicional, fue una obviedad darles un doge.

Era una imagen simple y, sin embargo, el mensaje fue muy eficaz. Recuerdo que la gente se reía cuando lo veía. La gente no quería ser "doged", por lo que todos estaban más atentos en su espacio en blanco adicional.

Fue más fácil abrir el buscador, arrastrar el dogo a un comentario y publicarlo, en lugar de simplemente escribir lo antiguo Please remove the extra whitespaceen la solicitud de extracción (PR), especialmente si había varios dogos.

¿No podría ser contraproducente?

Totalmente podría. No digo que todo el mundo deba seguir a nuestro equipo. Realmente depende de la personalidad del equipo. La nuestra tiene una edad promedio de seis años menor que yo, lo que significa que la mayoría puede relacionarse con los memes. Sería una historia diferente si su equipo tuviera una edad promedio de cuarenta (¡a menos que, por supuesto, fueran habitantes de 4chan o estén al día con los últimos memes!).

Conoces mejor a tus compañeros de equipo, de verdad. Después de unos meses de estar juntos (especialmente porque estábamos emparejados casi el 100% del tiempo), teníamos una idea del humor del otro, por así decirlo. Esto nos hizo sentir cómodos al ver memes en nuestras relaciones públicas y simplemente reírnos al respecto (mientras solucionábamos el problema, por supuesto).

¿Qué beneficios obtienes de los memes?

Bueno, un beneficio es que hace que la revisión sea más rápida (al menos para mí). La persona que también envió el RP realmente entiende lo que necesita hacer más rápido. En lugar de leer algunas palabras, ves una imagen, y todos sabemos que las imágenes hablan más que las palabras. Aquí hay algunos ejemplos de mi personal image wallet™:

Cuando saco una imagen por primera vez, agrego una descripción / explicación sobre lo que deben hacer / corregir. Lo anterior básicamente dice que elimine el código "heredado" anterior. Bórralo. ¡Destruyelo!

Esto es específico de Ruby: el pretzel dotoperador es básicamente un atajo para un try-catch. Solo resalto el fragmento que necesita un pretzel y pego esta imagen. ¡Rapido y Facil!

Estos dos los uso indistintamente y nuevamente, MAYORMENTE en Ruby, donde siempre agregamos el # frozen_string_literal: truecomentario mágico en la parte superior del archivo. Sin embargo, con Rubocop a la cabeza, hemos visto cada vez menos a Elsa y al Sr. Freeze. También aparecen para cualquier constante que necesite congelarse.

Esto es bastante sencillo (espero). Cuando los colegas ven esto, es una señal de que tienen un error tipográfico. Por lo general, también resalto el error tipográfico para que sea rápido y fácil de ver (y corregir).

Estos son sólo algunos de ellos. Sin embargo, recuerde que demasiado de algo suele serno es algo bueno. Así que tenga cuidado cuando agregue sus memes. También es mejor no agregar demasiados memes, ya que a veces puede distraer. Encontrar el equilibrio correcto de tono y simplemente enviar el mensaje lo más rápido posible es la mejor manera de terminar una solicitud de extracción.

Eso es todo amigos

En conclusión, realmente depende de ti si quieres divertirte o simplemente mantenerte serio y profesional en el trabajo. Algunos pueden pensar que los memes no son profesionales y, por supuesto, pueden serlo en el trabajo formal. Se puede argumentar que una solicitud de extracción puede ser o es una cosa formal relacionada con el trabajo, pero creo que solo se aplica si la usa para documentación o revisiones. De lo contrario, creo que es "libertad de expresión" (sí, ¡saqué esa tarjeta!) Y debería tomarse como está.

Para mí, transmite lo que quiero decir: eliminar espacios en blanco adicionales, corregir la ortografía, congelar una constante o eliminar una línea o líneas de código. No tengo que escribir mucho, mi colega no tiene que leer un montón de palabras contra otro montón de palabras, y eso aligera un poco el estado de ánimo. ¡Todos ganan! Con eso, terminaré esto con otra de mis imágenes: