Revisión de código, de vuelta a las calificaciones

En mi opinión y experiencia la revisión de código es la parte mas importante de un proyecto y es por eso que solo ciertas personas deberían hacerlo.

¿Qué es y porque es importante?

Resultado de imagen para revisar

Según la buena Wikipedia es un examen sistemático para mejorar la calidad de código y evitar todos los bugs posibles. Si leíste la oración anterior ya sabes porque es importante, no he tenido ni un proyecto “formal” donde esto no se haga, y con formal me refiero a un trabajo para un cliente. La revisión de código es de las partes mas importantes en el código final ya que un compañero puede tuyo puede cambiar tu código a una linea y de la misma manera tu puedes hacerlo, si pensaste que tu no podías hacerlo tienes el síndrome del impostor del cual ya hablare después.

Formas de hacerlo

Resultado de imagen para trabajadores
La foto esta ahí para que se vea bonito pero no es para nada así

Encontraras varios lugares que te dirán varias formas de hacerlo pero la pagina Smartbear considero los acomoda en tipos de manera muy correcta, seria los siguientes:

  • Correo: Se envía un correo cuando tu código esta listo y varios colegas lo revisan, el gran problema es que tendrás múltiples opiniones y puedes quedar mal con algún colega.
  • Programación en pares: Funcionan muy bien en metodologías extremas, dos personas trabajan en el mismo código. El problema que he encontrado es que es necesario tener una buena sinergia con tu compañero o si no las cosas se pondrán feas.
  • Over-the-shoulder (Sobre el hombro): Aquí es cuando literalmente te están criticando a tus espaldas, te juntas con uno o varios compañeros para que revisen tu código mientras les explicas el porque lo hiciste de esta manera. En mi opinión es el mas cómodo aunque también puede hacer que pasen discusiones.
  • Asistido por herramientas: Es el favorito de muchos y el único que nunca he probado, básicamente utilizas software para eficientar la revisión de código. Aquí hay una lista de los mejores softwares.

En mi experiencia

Resultado de imagen para trabajadores peleando
La revisión se parece mucho a esto, noten como esta mujer destruye su código con odio.

Mi mejor experiencia de revisión de código fue al usar GitHub y crear mí pull request (que se agregue tu código al proyecto) mi coordinador del proyecto que era una persona con varios años de trabajo lo revisaba y le daba el sí o no. La experiencia anterior también fue una de las peores porque también mis compañeros de trabajo podían revisarlo, yo nunca subía el código hasta que mi coordinador lo revisaba porque suceden cosas malas. Una compañera creo un código muy simple que mejoraba parte de la aplicación y dos compañeros míos le dieron el sí, y después se agrego su código mi trabajo de una semana se perdió ya que su código de algún modo neutralizaba el mio, el suyo mejoraba el como se veía el texto y el mio permitía subir imágenes, por esto tuve que juntar el trabajo de tres semanas con el debuggeo de una semana de trabajo. El código nunca lo arregle tuvo que ayudarme mi coordinador ya que ni el ni yo sabíamos que el código de mi compañera se subió y eso fue lo que desato el problema, esto no fue culpa de nadie era muy difícil saber que esto sucedería ya que era un problema de la librería que uso mi compañera, al final no paso nada y el problema se arreglo pero eso hizo que mi eficiencia bajara considerablemente. Es por esto que al principio del blog lo escribí y lo repito “La revisión de código debe ser hecha por personas con mas experiencia que tu”.

Leave a comment

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Create your website at WordPress.com
Get started
%d bloggers like this: