Evolution #5604
Ajouter un décorateur « gruik »
Description
Il arrive parfois, voir même souvent, que pour des raisons de rapidité il nous faut commettre du code pas très propre.
Lorsque l’on écrit ce genre de code, ou que l’on en trouve un, nous devrions décorer le code afin de nous « forcer » à le réécrire.
Je propose donc d’écrire un décorateur pyeole.decorator.gruik qui prend en argument une date limite de réécriture.
Le décorateur lui même peut avoir une date globale si l’utilisateur du décorateur n’en défini pas une.
gruik
enverra des log.warn
et si la date est dépassée, lèvera une exception GruikIsDead
, GruikCodeExplosion
ou GruickCodeTimeLimite
(à voir pour le nom).
Révisions associées
Ajout du décorateur « gruik » pour forcer la réécriture du code
Le décorateur est initializé par défaut afin de lever une exception
« pyeole.decorator.GruikIsDead » le 1 décembre 2013.
- pyeole/decorator.py: Import de « logging » et des fonctions pour
calculer une date.
(GruikIsDead): Nouvelle exception levée lorsque la dead-line du code
« gruik » est dépassée.
(gruik): Nouveau décorateur afin de rapporter un « warning » dans le
logger de l’appelant.
Si la dead-line du code « gruik » est dépassée, lève une
exception « GruikIsDead ».
Fixes: #5604 @25m
Le décorateur « @gruik » peut prendre un message en argument
Cet argument peut contenir les chaînes de format « {callee} » et
« {caller} » pour définir, respectivement, la méthode décorée et son
appelant.
- pyeole/decorator.py (gruik.__init__): Ajout du paramètre message.
Correction du nom de variable de l’appelant.
(gruik._report_gruik_code): Correction de la docstring et du noms de
l’appelant.
Le format du nom de l’appelant contient le numéro de la ligne appelant
la méthode décorée.
Ref: #5604 @5m
Ajout d’un décorateur « @fixme »
Ce décorateur est une version « politiquement correcte » du décorateur
« @gruik ».
- pyeole/decorator.py (gruik.__init__): Stockage du nom de l’exception
dans « self ».
(gruik._log_or_raise): Nouveau nom de « gruik._report_gruik_code ».
Lève l’exception stockée dans « self ».
(FixMeError): Exception levée pour le décorateur « @fixme ».
(fixme): Nouveau décorateur héritant de « @gruik ».
(fixme.__init__): Définition du nom de l’exception à utiliser et du
message par défaut.
Ref: #5604 @2m
Historique
#1 Mis à jour par Daniel Dehennin il y a presque 11 ans
- Sujet changé de Ajouter un décorateur « gruick » à Ajouter un décorateur « gruik »
- Description mis à jour (diff)
#2 Mis à jour par Daniel Dehennin il y a presque 11 ans
- Echéance mis à 21/06/2013
- Assigné à changé de developpeurs_eole à Daniel Dehennin
- Version cible mis à Eole 2.4-dev-3
- Début mis à 17/06/2013
#3 Mis à jour par Daniel Dehennin il y a presque 11 ans
- Statut changé de Nouveau à Résolu
- % réalisé changé de 0 à 100
Appliqué par commit a11762a025951abf0d91803a45db01a2e4e1afb3.
#4 Mis à jour par Joël Cuissinat il y a presque 11 ans
- Statut changé de Résolu à Fermé
Bien mais faut que les gens l'utilisent :)