Project

General

Profile

Evolution #5604

Ajouter un décorateur « gruik »

Added by Daniel Dehennin almost 7 years ago. Updated over 6 years ago.

Status:
Fermé
Priority:
Normal
Assigned To:
Category:
-
Start date:
06/17/2013
Due date:
06/21/2013
% Done:

100%

Spent time:
Distribution:
EOLE 2.4

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).

Associated revisions

Revision a11762a0 (diff)
Added by Daniel Dehennin almost 7 years ago

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

Revision 1ff67110 (diff)
Added by Daniel Dehennin almost 7 years ago

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

Revision 6bd5ca8b (diff)
Added by Daniel Dehennin almost 7 years ago

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

History

#1 Updated by Daniel Dehennin almost 7 years ago

  • Subject changed from Ajouter un décorateur « gruick » to Ajouter un décorateur « gruik »
  • Description updated (diff)

#2 Updated by Daniel Dehennin almost 7 years ago

  • Due date set to 06/21/2013
  • Assigned To changed from developpeurs_eole to Daniel Dehennin
  • Target version set to Eole 2.4-dev-3
  • Start date set to 06/17/2013

#3 Updated by Daniel Dehennin almost 7 years ago

  • Status changed from Nouveau to Résolu
  • % Done changed from 0 to 100

#4 Updated by Joël Cuissinat over 6 years ago

  • Status changed from Résolu to Fermé

Bien mais faut que les gens l'utilisent :)

Also available in: Atom PDF