OpenFisca


#1

OpenFisca est un moteur ouvert de microsimulation du système socio-fiscal.

À travers OpenFisca France, une communauté de développeurs, économistes, enseignants, instituts d’études et de recherche enrichissent et améliorent les modèles de simulation du système socio-fiscal français.

Un de ses objectifs est d’aider les citoyens à mieux comprendre les réformes qui impactent leur vie quotidienne.

OpenFisca et OpenFisca France sont des projets libres. Cela signifie que vous pouvez utiliser les logiciels associés, les installer, étudier leur code source, les modifier, les redistribuer de la façon que vous souhaitez. Une seule condition est imposée : les travaux dérivés d’OpenFisca doivent eux aussi être libres.

Cette contrainte permet à la communauté de grandir à travers des améliorations constantes du moteur de calcul, des mises à jour des systèmes représentés et des nouveaux usages.


#2

@Morendil, @NerOcrO et @will.i.am font un refacto d’une fonction hydrate_entity de la classe SimulationBuilder dans openfisca-core.

  • Règle de Demeter : Un objet doit rester fermé, une fonction ne doit pas ouvrir et parcourir les méthodes et attributs d’un objet mais plutôt les demander. Si de telles méthodes sont employés, il y a potentiellement un problème (?)
  • Distinction entre les tests:
    – fonctionnels : qui testent les outputs d’une boîte noire (ou cascade de fonction)
    – unitaires : qui testent une seule fonction
  • Faire des tests ex-post et les faire dès le début est VRAIMENT différent. Mettre en place des tests unitaires demandent alors d’établir des stratégie pour ne pas tester des objets construient par le code mais par des arguments contrôlés.
    Cela a pour conséquence:
    – de réduire le temps requis pour des tests,
    – vraiment tester une fonction.
  • Une bonne heuristique dans l’ordre des arguments dans une fonction est de mettre les arguemnts les constants d’abord et d’aller vers ceux qui peuvent changer à chaque instance. Cela permet potentiellement de rapidement identifier les arguments qui peuvent être sortis de l’appel et mis dans un niveau d’abstraction plus élevé.
  • Obtenir la modification d’une variable d’intérêt par effet de bord est difficile à lire.