Por qué los desarrolladores de Salesforce deberían hacer revisiones de código
Cómo mejorar la calidad de tu código de Salesforce con Git y revisiones de código.
Por Randalyn Hill-Coffer·Revisado por el equipo de Blue Canvas··6 min de lectura
A medida que los desarrolladores y administradores de Salesforce buscan el santo grial de la integración continua, muchos toman la acertada decisión de automatizar cada vez más procesos.
¿Hoy haces implementaciones manuales con conjuntos de cambios? — Reduce la probabilidad de errores humanos configurando un script automatizado con Jenkins (o usa Blue Canvas para implementar…). ¿Todavía haces controles de calidad manuales? — Acorta tus tiempos de entrega con pruebas automatizadas mediante herramientas como Selenium. ¿Buscas errores de sintaxis manualmente? — ¡Usa un analizador de código!
Solo ten en cuenta algo: la automatización no puede detectar todos los problemas. La mejor forma de mejorar la calidad del código y ahorrar tiempo es la buena y clásica revisión de código.
“Las revisiones de código garantizan que varios miembros de tu equipo hayan visto al menos una vez cada línea de código de tu aplicación de Salesforce. Cada línea de Apex, cada página de Visualforce y cada regla de flujo de trabajo pasan por varios pares de ojos.”
¿Qué es una revisión de código?
A diferencia de lo que ocurre al distinguir entre integración continua y entrega continua, una revisión de código es, por suerte, un concepto fácil de entender. Su nombre es muy acertado: consiste, básicamente, en que otro desarrollador de tu equipo revise tu código antes de que lo integres en la rama de destino.
Quienes revisan el código buscan varias cosas:
1. ERRORES DE LÓGICA Y CALIDAD DEL CÓDIGO
¿Hay errores en la lógica del código? ¿Hay casos límite que no hemos considerado? ¿Esto nos causará problemas cuando escalemos a más de 10 usuarios? ¿Este código cumple con nuestra guía de estilo? ¿Es suficientemente claro y está bien comentado? ¿Será fácil que un nuevo integrante del equipo que no escribió este código, o incluso quien lo escribió, lo entienda dentro de doce meses?
2. ¿FALTA ALGÚN CRITERIO DE ACEPTACIÓN?
¿Este código cumple adecuadamente con los requisitos tal como se documentaron? ¿Falta alguna función?
3. ¿CÓMO ESTÁ NUESTRA COBERTURA DE PRUEBAS?
¿Hay que escribir nuevas pruebas como resultado de este nuevo código? ¿O debemos actualizar pruebas existentes para contemplar estos cambios en la lógica de nuestra aplicación?
¿Por qué los desarrolladores de Salesforce deberían hacer revisiones de código?
Los desarrolladores de Salesforce estarán mucho más contentos y dormirán mejor si incorporan una práctica regular de revisión de código.
CÓDIGO DE MAYOR CALIDAD
La principal razón para hacer revisiones de código es garantizar que su calidad se mantenga lo más alta posible. Las revisiones de código limitan la cantidad de errores que llegan a producción.
ASEGÚRATE DE QUE TODO TU EQUIPO CONOZCA TODA LA BASE DE CÓDIGO
Aunque la mayoría comprende por qué las revisiones de código mejoran su calidad, pocos reconocen cómo también mejoran drásticamente la dinámica del equipo.
Las revisiones de código garantizan que varios miembros de tu equipo hayan visto al menos una vez cada línea de código de tu aplicación de Salesforce. Cada línea de Apex, cada página de Visualforce y cada regla de flujo de trabajo pasan por varios pares de ojos.
Esto reduce el “factor autobús” en tu base de código. Si uno de tus desarrolladores o administradores se va a otro trabajo, no te encontrarás en la desagradable situación de que nadie comprenda una parte importante de la lógica o una función.
“Una de las mejores formas de mejorar la calidad del código y ahorrar tiempo es hacer una revisión de código.”
También permite que las personas se vayan de vacaciones. Nunca te encontrarás en una situación en la que falle una parte crítica de la infraestructura y la única persona que sabe cómo funciona esté recorriendo el sendero de los Apalaches sin señal de celular.
En general, la colaboración es positiva para el desarrollo de software. A menudo resulta muy útil que una segunda, tercera o incluso cuarta persona revise un problema. Si tienes dificultades con algo, suele ser útil recurrir a otros integrantes de tu equipo para obtener ideas. Lo ideal es que no estén viendo por primera vez la sección de la base de código en la que trabajas, para que puedan darte comentarios y ayudarte a evaluar ideas con facilidad. Las revisiones de código facilitan este tipo de interacción.
MENTORÍA PARA NUEVOS MIEMBROS DEL EQUIPO
Las revisiones de código permiten que los nuevos integrantes de tu equipo se pongan al día más rápido. Ya sea que tengan mucha experiencia o que estén comenzando en el desarrollo de software, las revisiones de código los ayudan a familiarizarse rápidamente con las particularidades de tu organización de Salesforce.
SEGURIDAD
Nuestro lector Cory Cowgill señaló que habíamos omitido uno de los beneficios clave de las revisiones de código en el borrador inicial de este artículo: la seguridad. Muchos desarrolladores de Salesforce usan herramientas como Checkmarx para realizar análisis estáticos de código en busca de vulnerabilidades. Pero estos análisis automatizados tienen sus límites. Las revisiones de código pueden detectar problemas cruciales que las pruebas automatizadas no identifican.
AHORRA TIEMPO
Aunque parezca contradictorio, las revisiones de código le ahorrarán tiempo a tu equipo. Te permiten detectar errores antes de que lleguen a producción. Garantizan que tus pruebas estén siempre actualizadas. Y ayudan a prevenir la deuda técnica que tendrás que resolver más adelante.
Las implementaciones de Salesforce son lentas y revertirlas es difícil, por lo que es muy importante hacer las cosas bien antes de iniciar el proceso de implementación. Dedicar un poco de tiempo a una revisión de código al principio te ahorrará mucho tiempo a largo plazo. No quieres implementar en tu organización solo para descubrir que algo falló después de 4 horas de pruebas. Deja que una revisión de código lo detecte a tiempo.
Cómo hacer revisiones de código en Salesforce
Por lo general, las revisiones de código deben realizarse antes de fusionar los cambios en la rama de destino. En un flujo de trabajo típico de Git con Salesforce, un desarrollador crea una nueva rama para su trabajo. Una vez que está satisfecho con su nueva función, crea una solicitud de incorporación de cambios para fusionar su rama con la siguiente. En Salesforce, esto normalmente implica hacer una revisión de código antes de enviar los cambios a un entorno de pruebas o a una organización de edición para desarrolladores. Así, otra persona revisa el código antes de que avance demasiado en el proceso.
“Incluso si aún no has perfeccionado tu proceso de revisión de código ni adoptado una verdadera integración continua, puedes beneficiarte de una colaboración más estrecha en tu equipo”
Una vez que todo funcione bien en un entorno de pruebas, querrás enviarlo a tu entorno de preproducción y ejecutar más pruebas. Mientras se ejecutan esas pruebas automatizadas, pídele a otro ingeniero que haga una última revisión de código. Revisa los aspectos que mencionamos anteriormente. Si todo se ve bien y todas las pruebas pasan, puedes implementar en producción.
Por supuesto, cada equipo tendrá distintos requisitos y capacidades para su proceso de revisión de código. Los equipos pequeños quizá hagan una sola revisión, mientras que los más grandes podrían hacer varias en cada etapa. Prueba qué funciona mejor para tu equipo
LOS ADMINISTRADORES Y DESARROLLADORES DEBEN REVISAR EL TRABAJO DE LOS DEMÁS
El desarrollo en Salesforce es único por su filosofía de “clics, no código”. Las revisiones de código también benefician a las funciones creadas de forma declarativa desde la interfaz de Salesforce. Haz que los desarrolladores revisen los cambios de los administradores y viceversa. Esto garantiza que todas las áreas de tu equipo comprendan y estén de acuerdo con los cambios realizados. Los administradores pueden ayudar a los desarrolladores a analizar la lógica de negocio. Los desarrolladores pueden ayudar a los administradores a analizar los cuellos de botella y los problemas de velocidad.
HERRAMIENTAS PARA REVISAR CÓDIGO
Git es la herramienta esencial para las revisiones de código. Las revisiones de código funcionan mejor cuando es posible crear ramas de código separadas de la rama master. Git facilita mucho esta tarea. Git también permite comparar fácilmente los cambios de la nueva rama con una rama anterior.
Blue Canvas facilita especialmente esta tarea. Blue Canvas te permite visualizar rápidamente las diferencias entre distintas organizaciones. Con nuestra función Comparar, puedes ver línea por línea las diferencias entre producción y preproducción, o entre preproducción y una organización de edición para desarrolladores.
¡Empieza hoy!
Lo mejor de las revisiones de código es que son muy fáciles de incorporar. Incluso si aún no has perfeccionado tu proceso de revisión de código ni adoptado una verdadera integración continua, puedes beneficiarte de una colaboración más estrecha en tu equipo. Y puedes empezar hoy mismo.



