code review – ¿Qué es la revisión de código y cómo se realiza?

Code review
Code review

¿Qué es la revisión de código?

El objetivo de la revisión de código es determinar que se está haciendo bien y que se puede mejorar, no se trata de encontrar culpables. El compartir estos hallazgos a todos los desarrolladores, con o sin mucha experiencia, nos ayuda a aprender a ser mejores y desarrollar bajo el estilo que se adapte a las necesidades del equipo y el cliente. Debemos tener en cuenta que cada equipo de desarrollo es distinto ya que lo que puede ser de utilidad para un equipo no lo es para otro, mucho depende del tipo de solución que se este desarrollando para saber los estilos de codificación que se pueden aplicar. A continuación veamos los objetivos que trae el realizar una revisión de código:

  1. Leer el código generado para aprender cómo fue desarrollado
  2. Descubrir patrones y anti patrones generados para mejorar el código existente y futuro.
  3. Identificar que se hace bien y lo que está trayendo problemas
  4. Cuantificar la calidad del código
  5. No se deben buscar culpables, se deben encontrar las cosas están bien y las cosas que se deben de dejar de hacer.
  6. No se puede ir clase por clase revisando lo que hace cada una en busca de todos los errores posibles, como se mencionó anteriormente se deben buscar patrones.

¿Por qué revisar código?

Para que nuestros equipos de desarrollo internos o externos (proveedores) aprendan viendo como se ha venido escribiendo el código. Es una oportunidad de mejorar y aprender de las cosas que se han venido haciendo bien y de las que se deben mejorar, con la revisión de código mejoraremos estos cuatro elementos que son igual de importantes:

  1. Mejorar la calidad del equipo
  2. Mejorar la calidad de comunicación entre los miembros del equipo y entre los equipos
  3. Mejorar la calidad del código
  4. Como último objetivo es encontrar problemas de codificación.

¿Cómo hacer una revisión de código?

El encargado de la revisión de código debe tomar su experiencia adquirida a través de los años de desarrollo y mirar el código usando ese conocimiento siguiendo estos pasos:

  1. Encontrar las cosas que están bien y las cosas que se deben corregir: Se debe tener claro que no se debe enfocar solo en los problemas, esto ocasiona una respuesta emocional negativa por el lado de los desarrolladores que han escrito ese código, lo que se busca es un trabajo en conjunto. Se puede empezar resaltando las cosas que fueron bien hechas y poco a poco entrar en los problemas detectados.
  2. Encontrar problemas frecuentes, no solo problemas puntuales: Se pueden encontrar problemas que ocurran una sola vez para ir en un informe, pero el objetivo es encontrar problemas que ocurran más de una vez. Debemos tener claro que se està tratando de crear un momento de aprendizaje para los desarrolladores identificando problemas comunes que haga una persona o todo el equipo para darle una solución.
  3.  Al momento de la revisión no abarcar mucho código: Una medida es revisar entre 200 – 400 líneas de código a la vez. Esta actividad es recomendable que lo haga alguien externo al desarrollo ya que consume tiempo y no trae muchos beneficios si lo hace todo el equipo.
  4. Ningún código es perfecto: La creación de código fácil de mantener es una característica, por lo tanto las revisiones de código se deben enfocar en cosas que puedan mejorar el mantenimiento.

Pasos que podemos seguir para revisar código:

  • Tomar un pedazo de código y pegarlo en el IDE que más les guste: Ms Word, Notepad, Notepad++, Word, SublimeText, Visual Studio Code, etc.
  • En este caso uso Ms Word y uso la característica de comentarios, el objetivo de esta revisión no es ver como se ejecuta sino como está escrito.
  • Al hacer esto nos comportamos como un desarrollador que por primera vez que ve el código, ya que lo primero que se hace es abrir un archivo para entender como las cosas necesitan ser hechas.
  • Luego se deben agregar comentarios resaltando lo bueno que se ha hecho en el código.
  • Finalmente agregar comentarios con lo que se debe mejorar.
Revisión de código MsWord
Revisión de código MsWord

Recuerden que ningún código es perfecto ni el escrito por nosotros, por lo tanto el proceso de revisión es muy importante para detectar las cosas que no hemos visto en el desarrollo.

¿Cómo no hacer una revisión de código?

Así como existen recomendaciones para revisar código también existen recomendaciones de cómo no se debe revisar el código:

  1. No te pongas emocional: Debemos tener claro que el objetivo de una revisión es mejorar como organización, de modo que preocuparnos porque nuestro código ha sido revisado no es bueno.
  2. No enfocarnos en buscar culpables: No se debe buscar quien escribió mal el código debemos enfocarnos en lo que se está haciendo mal o bien. El objetivo es mejorar el equipo con las recomendaciones hechas a partir del código revisado.
  3.  No rediseñar el código: No usar la revisión de código como una oportunidad de rediseñar la solución. Solo se debe encontrar pistas en el código, no se trata de revisar decisiones de diseño, ni entender la forma en que el desarrollador que ya no está hizo ese código, este no es el objetivo de la revisión de código.
  4. No se debe juzgar en base a como uno lo hubiera hecho: Este es un problema común que lleva tiempo en corregirse, recuerden que el objetivo es conocer si el código es fácil de mantener y no en la forma en que uno lo hubiera escrito. Solo debemos enfocarnos en que si el código es bueno
  5. No incluir problemas que ocurren una sola vez: Estos problemas no ayudan a que mejore la eficiencia del equipo. Lo importante es encontrar patrones de código que se tienen que corregir y no en simples problemas que no se repiten.
Conclusiones: 

El objetivo de la revisión de código es determinar que se está haciendo bien y que se puede mejorar, no se trata de encontrar culpables. Sirve para que nuestros equipos de desarrollo aprendan y mejoren a partir del código existente. Para realzar esta tarea el encargado de la revisión de código debe tomar su experiencia adquirida a través de los años de desarrollo y mirar el código usando ese conocimiento. Ningún código es perfecto ni el escrito por nosotros, por lo tanto es muy importante realizar esta actividad.

Referencias:
Metal Tip:

Este artículo lo escribí escuchando la canción Soulreaper de la banda Dissection de Suecia, les comparto el enlace.

Happy coding and Stay Heavy lml

Anuncios

6 comentarios en “code review – ¿Qué es la revisión de código y cómo se realiza?

  1. Me gustan tus aportes.
    Tengo una duda y nada que ver el tema de este post.
    Pero que tan conveniente es usar el Entity Framework vs ADO.Net(Hacer las consultas a pie!)
    Donde trabajo tenemos un wrapper(Una Dll) de ADO.Net con funciones que nos facilitar el uso de ADO
    con funciones que donde solo pasamos Qrys y nos regresa DataTables y DataSets etc.
    En nuestras aplicaciones son por lo general WinForms(Aburrido) y por lo general usamos en nuestras consultas de SQL los statements WITH(NOLOCK) y WITH(ROWLOCK) para que sea mas optimo la consulta
    Pero no se si el EtityFramework sea buena idea o solo son para proyectos especificos

    Me gusta

    1. Hola, para módulos de bajo uso mi primera opción es usar EF, dependiendo de la criticidad del modulo evaluaría el uso de SP sobre EF, también se debe tener en cuenta buenas practicas para aplicar EF sobre módulos muy concurridos.

      Me gusta

  2. El refactoring es una actividad que se debe tener en cuenta siempre , lamentablemente no en todos los equipos de desarrollo es bienvenido, todavia existe la gente donde interpretan una sugerencia o mejora del codigo como una critica llegando al debate del clasico “quien sabe mas”, los puntos donde aclaras ¿Cómo no hacer una revisión de código? son cosas que se deben tener en cuenta a la hora de mejorar un framework y trabajar como equipo.

    Le gusta a 1 persona

    1. Hola, si es complicado a veces, existen muchos peros al momento de resolver las incidencias, es parte de nuestro aprendizaje el saber como hacer que el equipo vea el beneficio de seguir buenas practicas.

      Me gusta

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s