Géophar

Liste des tâches

FS#116 - Supprimer les cas `self.feuille is None`

Concerne le projet: Géophar
Ouverte par Nicolas P. (Wxgeo) - jeudi, 08 octobre 2009, 16:38 GMT+2
Dernière édition par Nicolas P. (Wxgeo) - dimanche, 03 août 2014, 00:59 GMT+2
Type de tâche Refactorisation du code
Catégorie Geolib
Etat Accepté
Assignée à Nicolas P. (Wxgeo)
Système d'exploitation All
Sévérité Basse
Priorité Basse
Basée sur la version En cours
Due pour la version Non décidé
Date d'échéance Non décidé
Pourcentage achevé: 0%
Votes 0
Privée Non

Détails

Ratacher les objets à feuille_par_defaut lors de leur création.

Cela permet de supprimer tous les tests __feuille__ is None:
-> code un peu plus rapide (significatif ?)
-> code plus simple (moins de branchements conditionnels/niveaux)
-> code plus fiable (pas de risque de cas __feuille__ is None oublié)
Cette tâche dépend de

Commentaire de Nicolas P. (Wxgeo) - mercredi, 30 juillet 2014, 15:40 GMT+2
Exemple de phénomènes un peu surprenants liés au rattachement des objets à posteriori à une feuille.

In [8]: B = Point()

In [9]: B.x
Out[9]: 13.541664790992304

In [10]: B.y
Out[10]: -12.36261618919678

In [11]: B.feuille=f

In [12]: B.x
Out[12]: -2.0523092315225338

In [13]: B.y
Out[13]: 1.343366980819419
Commentaire de Nicolas P. (Wxgeo) - mercredi, 30 juillet 2014, 15:56 GMT+2
Idéalement, il faudrait que le rattachement à une nouvelle feuille n'ait jamais lieu (ie. que l'objet soit rattaché à sa feuille au moment de sa construction).

Cela simplifierait le processus de création et le code existant : .feuille deviendrait une propriété en lecture seule.

Pour cela, on pourrait utiliser le gestionnaire de contexte pour préciser la feuille courante avant de créer un objet (avec une feuille par défaut).

with contexte(feuille = ma_feuille):
...

(Un problème pourrait se poser si geophar devient multithread, mais il n'y a pas trop de raison à moins peut-être de lancer des animations dans 2 feuilles en même temps).

Chargement...