Plataforma de Contenido Empresarial

Por que el revisión del código es esencial para los desarrolladores

Two women sit at a desk and look at information displayed on a flat screen computer monitor. In this blog post, Lingjie Zhang—a Software Engineer at Perfect Sense/Brightspot—explains why she finds code review to be essential.

Después de obtener mi primer trabajo a tiempo completo como desarrolladora recién salida de la universidad, noté que hay muchas diferencias entre la programación en la escuela y en entornos profesionales. El proceso de revisión del código por pares es algo maravilloso al que he estado expuesta en Perfect Sense, no lo había aprendido en la universidad.

En Perfect Sense, nuestras pull requests deben ser revisadas regularmente por un desarrollador de más rango o por pares. Pensé que era solo una revisión de rutina para detectar fallas. Sin embargo, muchos meses después, cuando cambié entre los roles de desarrollador y revisor me di cuenta de que la revisión de código es realmente más que una simple verificación de errores. El proceso de revisión del código es esencial para el éxito de los proyectos de codificación y me ha permitido convertirme en una desarrolladora más calificada.

He aquí cinco razones por las que he encontrado que la revisión del código es esencial para garantizar la solidez, la coherencia y la sostenibilidad de un proyecto de codificación.

1. Diseño e implementación consistentes

La revisión por pares de código puede imponer un estilo de codificación coherente en todo el proyecto, lo que hace que el código fuente sea legible para cualquier persona que pueda comenzar en el proyecto en cualquier momento de su desarrollo. Un proyecto puede tener varias fases de desarrollo, y cada una podría distribuirse a múltiples desarrolladores. Si cada desarrollador tiene su estilo propio de codificación distintivo y se adhiere a él, el proyecto inevitablemente quedará desarticulado. No importa qué tan bien cada desarrollador haga su parte, sería un desafío para otros insertarse eficientemente en el proceso.

El uso del proceso de revisión para garantizar un diseño y una implementación consistentes también contribuye al mantenimiento y la longevidad del software. Es inevitable que se deban hacer cambios en el futuro, por lo que es importante que se piense en quién será el responsable de hacer esos cambios. ¿Se usarán los mismos desarrolladores cuando se necesiten esos ajustes de código? ¿Crecerá el proyecto y será necesario agregar nuevos desarrolladores y ponerlos al día? En el proceso de revisión del código, estos factores deben tenerse en cuenta. Más adelante, le ahorrará a usted y al equipo un tiempo valioso, lo que le permitirá concentrarse en innovar el software en lugar de descubrir cómo funciona (o no funciona) el código.

2. Minimiza los errores y su impacto

Esto puede parecer la ventaja más obvia para el proceso de revisión de código por pares, pero es también una de los más importantes. Cuando estás trabajando bajo las presiones reales de tiempo y presupuesto, es fácil omitir este paso. Claro, tienes confianza en tu trabajo, pero incluso los mejores programadores pueden obnubilarse por mirar su propio trabajo por mucho tiempo. Con la revisión de código, otro par de ojos ayuda a identificar fallas y simples errores de codificación antes de que su producto llegue al siguiente paso, logrando que el proceso para llevar el software al cliente sea más eficiente.

Revisar el código de alguien e identificar errores es genial. Sin embargo, cuando se trata del proceso de revisión por pares del código, también debe haber un nivel de seguimiento y responsabilidad. Asegúrese de que exista un proceso de seguimiento para confirmar que se hayan solucionado las discrepancias de código antes de pasar al nivel de producción.

3. Garantiza la calidad y cumplir con los requisitos del proyecto

El alcance de cualquier proyecto de software y sus requisitos pueden estar en manos de varios desarrolladores. El proceso de revisión del código puede servir como un control y equilibrio contra diferentes interpretaciones de ese alcance y requisitos en comparación con el código que termina siendo entregado. El segundo par de ojos puede garantizar que no caiga en el "pozo" que usted creó en función de su propia comprensión de lo que se le está pidiendo y de que algo importante no se haya pasado por alto. El hecho de que sus pares analicen el código puede ahorrarle mucho tiempo al "confrontar" el control de calidad más adelante.

4. Mejora el rendimiento del código

Debido a la falta de experiencia, algunos desarrolladores más jóvenes podrían desconocer las técnicas de optimización que podrían aplicarse a su código. El proceso de revisión de código ofrece una oportunidad para que estos desarrolladores adquieran habilidades y aumenten el rendimiento de su código. Además, les da a estos desarrolladores más jóvenes la oportunidad de perfeccionar sus habilidades y convertirse en expertos en su oficio.

Mientras se percatan de las funcionalidades requeridas, muchos desarrolladores también intentan buscar un código optimizado para un desempeño eficiente y conciso. Sin embargo, esto dará como resultado una mayor complejidad del código y menos legibilidad. (Nota: la concisión del código no significa que su lógica sea fácil de entender). Además, el modelo de datos en el que se basa el código podría cambiar en las fases de desarrollo posteriores. Por lo tanto, dicha optimización prematura eventualmente aumentará el costo de mantenimiento.

5. Se comparten nuevas técnicas

Durante una revisión de código, los desarrolladores también pueden compartir nuevas tecnologías y técnicas entre sí. Compartir técnicas trasciende la antigüedad laboral, y cada desarrollador puede de manera igualitaria compartir, cooperar y mejorar sus habilidades.

Cada vez que recibo comentarios de retroalimentación de mis colegas, prefiero revisarlos de manera oportuna. Por lo general, entiendo dónde están los problemas y los soluciono directamente. Cuando hay situaciones en las que me confundo, mi par me ayuda a obtener la solución adecuada. El proceso de revisión del código por pares puede aumentar gradualmente mis habilidades y garantizar la calidad de nuestros proyectos.

Por otro lado, buscamos técnicas y métodos para automatizar el proceso de revisión por pares tanto como sea posible y ahorrar tiempo a todos. Por ejemplo, para ahorrar tiempo compilando e implementando, presentamos la herramienta Travis CI. Una vez que se inicia un pull request, github puede sincronizarse con Travis CI y determinar si la construcción (convertir archivos de código fuente) es fusionable. Posteriormente, Travis CI creará el PR (Pull Request) y actualizará el estado en github en consecuencia para que los desarrolladores puedan realizar la construcción de manera oportuna.

Aunque trabajamos para automatizar el proceso de revisión de código, no todo puede automatizarse y las pruebas manuales a veces son más eficientes y exhaustivas. Recientemente, nuestro equipo de entrega encontró una alternativa y un mejor flujo de trabajo para fusionar las pull-requests. Después de revisar el código, primero implementamos las solicitudes en un entorno de control de calidad y las pusimos a prueba en lugar de fusionarlas directamente. Solo si se verifican todos los casos de prueba, la pull request se puede combinar en la rama (Branch) de desarrollo. Este nuevo flujo de trabajo nos impide revertir las confirmaciones de fallas y hace que nuestro rama de desarrollo sea más sólida.

Mi experiencia con el proceso de revisión por pares de código en Perfect Sense me ha permitido convertirme en una mejor desarrolladora, tanto como supervisora de código como en función de empleada que recibe la revisión de código de sus pares. Este proceso no solo me ayuda a ser una mejor desarrolladora, sino que garantiza el éxito a largo plazo y el desarrollo adecuado de nuestro producto, Brightspot.

Share

All Brightspot Features

The Brightspot Content Business Platform is built by publishers and developers, and is designed to grow with your business.
A robust set of tools to manage sites, content, users and permissions, workflows, languages, and analytics.
Keyword-driven and comprehensive, filterable search and taxonomy features make folders a thing of the past.
Intuitive and designed for the work, including rich-text editing, embeds, plus collaboration features that make teamwork work.
Start publishing content rapidly thanks to built-in, extensible content types including text assets, media, pages and much more.
Drive deeper engagement and personalized experiences by leveraging authentication, profiling, segmentation and affinity features.
Built to be a bridge to your systems and all your data, start with one of the 70 plug-and-play integrations, or build any custom integration to meet your business needs.
Meet users where they are thanks to syndication and distribution tools like RSS, sitemaps, SEO tools, social publishing and translation support.
Front-end agnostic means content businesses can publish how they want - headless with GraphQL or decoupled - all from the same environment.
Get the publishing speed you need with Brightspot. Book your personalized walk-through today!
Request a Brightspot demo graphic