Reduciendo la cantidad de líneas de código en la localización argentina para Odoo 17.0

23 de febrero de 2024 por
Gustavo Orrillo
| Sin comentarios aún
 

Hay una gran regla no escrita del software que indica que cada línea de código es una deuda (mas sobre esta idea en este excelente post). De la misma manera que en Argentina un empleado es una deuda para una empresa (lo cual explica que la mitad de los argentinos sean pobres) a nivel software cada línea de código se debe mantener, no corre de manera indefinida. Alguien debe mantenerlo. 

Lo mismo se puede decir de la localización argentina. Cada año debe ser migrada a una nueva versión. Por ende cuanto menos líneas de código tenga, menos tiempo se tardará migrandosela. Migrar la localización todos los años consume unas 100 horas de desarrollo y testeo. Bueno... hay que reducir dicho costo de mantenimiento.

Despues de instalar cloc decidi contar la cantidad de líneas de código de la versión 16 de la localización, y obtuve el siguiente resultado


Más de 9,000 líneas de Python y más de 5,000 líneas de XML. Una barbaridad (y eso que no incluye pyafipws). Comparenlo con el core de Odoo:


Basicamente por cada línea del core de Odoo en Python tenes una línea de Python en la localización. Una locura (quiza por esto se explique la resistencia a no agregar el módulo account_payment_group al core o a los addons de Odoo).

Algunos lineamientos para reducir la cantidad de líneas en la localización

  • Necesitamos el módulo realmente? por ejemplo... debe estar el módulo l10n_ar_bank en la localización? Al fin y al cabo solo agrega validación del CBU
  • Eliminar muchas funcionalidades que no son críticas y son un very nice to have. Por ejemplo, es necesario  generar un Excel con el IVA Ventas e IVA Compras? (cuando lo pueden sacar utilizando con criterio la facilidades de consulta de Odoo?). Y si esto no es conveniente, es necesario que se encuentre en la localización?
  • Tambien hay otras funcionalidades que no tienen sentido, como por ejemplo... se necesita generar los certificados digitales para la factura electrónica de AFIP? No es necesario cuando el usuario lo puede generar con openssl y desde la línea de comando
  • Lo mismo se aplica a otras funcionalidades como botones de "Enviar por mail" o "Imprimir". Se los puede agregar luego durante una etapa de implementación con un cliente.
  • Remover la integración con el punto de venta. Ya saben lo que opino del mismo y por eso la remuevo

Bueno, son dos ideas que se me ocurren al respecto. Asi que voy a seguir trabajando en esto 



Gustavo Orrillo 23 de febrero de 2024
Compartir
Archivar
Identificarse dejar un comentario