• [^] # Re: sonntag

    Posté par . En réponse à la dépêche Lisaac 0.12 en GPL v3. Évalué à 1.

    Un petit mot sur l'aop:
    Lorsque l'on veut débugger sérieusement un algorithme ou du code complexe, on va ajouter des logs en entrée et en sortie, ce qui pollue rapidement le code.
    En remplaçant dynamiquement les fonctions ou les méthodes, on peut ajouter des logs sélectivement. On peut aussi utiliser ce mécanisme pour étendre l'outil avec de nouvelles fonctions, sans pour autant ajouter un arbre de classes supplémentaire.

    J'utilise ces techniques en javascript (affichage de pile des appels de fonctions lors d'une exception), mais on y trouve d'importants usages en java (aspectJ), et dans d'autres langages le mécanisme est immédiat (Python).
    Exemple de projet utilisant ce mécanisme: http://code.google.com/p/waf

    Le Y combinator en haskell/caml se rapproche de ce concept (déboggage/extension des fonctions récursives).