preloader

Lo que revisar PRs de la OCA enseña sobre calidad de código

Advertisement space

La revisión de código en open source no consiste solo en encontrar bugs. En un proyecto como la Odoo Community Association, revisar también significa cuidar compatibilidad, mantenibilidad, guía para contribuidores y estándares compartidos entre muchas empresas y países.

El código puede resolver un problema local, pero el módulo debe seguir siendo útil para una comunidad más amplia.

La compatibilidad va primero

Los módulos de Odoo viven entre versiones, migraciones y estilos de despliegue distintos. Un cambio que funciona en una base de datos puede romper otra por módulos instalados, configuración, localización o comportamiento específico de versión.

Una buena revisión pregunta:

  • ¿Este cambio conserva el comportamiento existente?
  • ¿La ruta de migración está clara?
  • ¿Las dependencias son correctas?
  • ¿Sigue las convenciones del repositorio?
  • ¿Otro mantenedor lo entenderá más adelante?

El objetivo no es bloquear cambios. El objetivo es hacer que el cambio sea seguro.

Los tests también comunican

Los tests no solo protegen contra regresiones. Explican el comportamiento esperado. En software de negocio esto es especialmente importante porque las reglas pueden ser sutiles: impuestos, movimientos de stock, facturas, permisos, monedas y comportamiento específico por partner.

Un buen test le dice al siguiente mantenedor qué debe seguir siendo cierto.

Revisa la forma, no solo las líneas

Los comentarios línea por línea son útiles, pero la forma general importa más. Un pull request puede pasar tests y aun así introducir una abstracción equivocada, duplicar comportamiento existente, mezclar cambios no relacionados o esconder una regla de negocio en la capa incorrecta.

Una revisión útil busca:

  • Alcance claro.
  • Commits pequeños o cambios lógicos.
  • Reutilización de patrones existentes.
  • Migraciones de datos simples.
  • Manejo de errores legible.
  • Respeto por las convenciones del framework.

La revisión asíncrona exige claridad

La revisión open source suele ser asíncrona. El contribuidor puede estar en otra zona horaria y no compartir el mismo idioma nativo. El feedback directo y específico ayuda más que preferencias vagas.

En vez de decir “esto no está limpio”, explica el problema: “esto duplica el helper existente y divergirá durante la migración; por favor reutiliza el helper y añade un test para el caso nuevo.”

Ese tipo de revisión mejora el código y ayuda al contribuidor a aprender el proyecto.

La mantenibilidad es un activo comunitario

El mejor hábito de revisión es pensar en la siguiente persona. ¿Entenderá la razón del cambio? ¿Podrá depurarlo? ¿Podrá migrarlo? ¿Podrá extenderlo sin leer una conversación privada?

La calidad open source se construye con muchas decisiones pequeñas como esa. Un buen pull request resuelve el problema inmediato. Una buena revisión ayuda a que el proyecto siga sano después de resolverlo.

You May Also Like