• [^] # Re: wrapper et decorateur

    Posté par . En réponse au message Argument de fonction récurrent. Évalué à 6. Dernière modification le 01 juin 2012 à 19:03.

    Plutôt que de tenter à tout prix de faire ce qu'on a en tête, il vaut mieux considérer d'abord si c'est une bonne chose. Si par exemple il faut faire des contorsions dans le code, des bidouilles difficiles à lire, des choses qu'on aurait du mal à expliquer, alors c'est un bon indice que c'est probablement une mauvaise idée.
    Pour ce qui est des fermetures, elles existent en Python, il s'agit de lambda. Il souhaite également pouvoir les modifier après, il souhaite une syntaxe pour les faire sans objets, etc.
    Ça va l'amuser pendant quelques minutes de chercher une solution à ce problème, et il va s'extasier devant le fait qu'on peut cumuler décorateurs, modifier les paramètres. Mais ça sera mauvais sur le long terme, on aura rajouté des couches pour faire quelque chose que le langage permettait déjà de faire (les classes), parce qu'on aura estimé qu'on était plus intelligent que le langage, ce qui est faux dans la totalité des cas.
    Ce code est difficile à maintenir. Et il est lourd à utiliser : il faut utiliser des décorateurs, utiliser des types personnalisés comme Int. On n'est même plus dans la complexité, on est dans la complication.