Structure interne ================= Ce document est destine aux developpeurs. Il regroupe des conventions de structure interne qui ne sont pas necessaires pour un lecteur utilisateur. pyvertexvectors --------------- Factories: convention d'implementation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Dans la famille de modules ``pyvertexvectors``, les routines de factory (``_make_vector``, ``_make_zone``, ``_make_zones``, ``_make_properties``, etc.) sont volontairement des **methodes d'instance**. Raison principale: - conserver le polymorphisme modele/GUI sans couplage fort - permettre l'utilisation du contexte de l'objet courant (parent, options, hooks) - faciliter les remplacements/mocks en tests unitaires Regle de maintenance: - utiliser systematiquement ``self._make_*`` dans le code interne lorsqu'un objet sibling est cree - ne pas convertir ces factories en ``@classmethod`` sauf besoin explicite, stateless, documente et valide par revue Notes de portage ~~~~~~~~~~~~~~~~ La convention ci-dessus est appliquee dans les classes GUI ``Zones``, ``zone`` et ``Triangulation``. L'objectif est d'eviter les regressions lors des refactors (modele/GUI) et de conserver un point d'extension unique pour les creations d'objets.