Consells de programació: restriccions i excepcions
Resum ràpid
L’article explica com les restriccions i les excepcions ajuden a controlar situacions no vàlides o inesperades en un programa. Distingeix el paper de la validació de dades del tractament dels errors que interrompen el flux habitual.
Continguts
OpenERP ofereix un mecanisme estàndard per afegir restriccions als registres. Aquest mecanisme s’utilitza, per exemple, a account.move.line per garantir que no es faci servir cap compte de tipus view en un apunt comptable. A primera vista, aquesta funcionalitat sembla útil, però l’experiència demostra que el mecanisme actual de restriccions presenta problemes greus d’usabilitat.
El motiu és força senzill. Si considerem l’exemple d’account.move.line, pot passar que l’usuari empleni un extracte bancari molt extens i, quan acabi, intenti confirmar-lo. És en aquest moment quan es creen els assentaments comptables i, si només un d’ells utilitza un compte de tipus view, l’usuari rebrà sempre el mateix missatge: «No es pot crear un apunt comptable en un compte de tipus vista». Perfecte. Però quina de les 100 línies de l’extracte és la incorrecta?
Una situació semblant es produeix quan els desenvolupadors no tenen en compte aquest problema en generar excepcions. Per exemple, si una de les 100 línies de l’extracte bancari ja està conciliada, l’usuari rebrà el missatge tan informatiu: Ja conciliat.
Aquests aspectes són molt importants en entorns de producció i hem hagut de fer diversos canvis per millorar les excepcions, especialment als mòduls de comptabilitat. Un missatge senzill com ara «L’apunt comptable %s, amb un dèbit de %.2f i un crèdit de %.2f, ja ha estat conciliat» resol el problema i pot evitar molts maldecaps als usuaris d’OpenERP.
Cal tenir en compte que, si el registre s’acaba de crear, és possible que l’usuari no pugui localitzar el registre problemàtic, perquè la reversió de la transacció pot eliminar-lo. Per això, sempre és recomanable proporcionar tanta informació com sigui possible.
D’altra banda, com que els missatges estàndard de les restriccions no permeten incloure tota la informació necessària, la millor opció és utilitzar el mecanisme de restriccions però generar una excepció informativa des de la funció de restricció, en comptes de deixar que OpenERP mostri a l’usuari el missatge estàndard.
Preguntes freqüents
Quina diferència hi ha entre una restricció i una excepció en programació?
L’article presenta les restriccions i les excepcions com a mecanismes diferents per controlar situacions no vàlides o inesperades dins d’un programa.
Quan és útil aplicar una restricció?
És útil quan cal impedir que es guardin dades que no compleixen una condició definida, de manera que la validació formi part del comportament normal de l’aplicació.
Per a què serveixen les excepcions?
Serveixen per gestionar situacions que interrompen el flux habitual del programa i permetre que l’aplicació les tracti de manera controlada.
Articles relacionats
Open Source i Tendències
La guia definitiva per triar un programari de gestió empresarial - CAPÍTOL 7
El responsable de tecnologia ha de participar des del principi en la selecció d’un ERP perquè pot valorar la solidesa, el rendiment i la tecnologia real de cada opció. La seva experiència també permet estimar les adaptacions, la integració amb les eines existents i l’esforç d’implantació i manteniment.
ERP i Negoci
La guia definitiva per triar un programari de gestió empresarial - CAPÍTOL 8
Escollir un ERP no consisteix només a comparar el preu del programa: també cal valorar la implantació, les migracions, la formació, el manteniment, les actualitzacions i altres costos associats. El director financer ha de participar en la decisió perquè l’ERP afecta tant la inversió com el control, la planificació i la capacitat d’anàlisi de l’empresa. L’article planteja reduir l’impacte econòmic amb una implantació per fases o amb un model SaaS, tenint en compte el compromís entre flexibilitat i cost.
Open Source i Tendències
La Guia Definitiva per Triar Programari de Gestió Empresarial - CAPÍTOL 4
Incloure el programari lliure en la cerca d’un ERP amplia les opcions més enllà dels fabricants i models basats en llicències propietàries. L’article explica, amb una metàfora culinària, com l’accés al codi font aporta transparència, possibilitats de còpia i capacitat d’adaptació, i adverteix que aquestes alternatives no sempre apareixen en les primeres cerques.