grâce à la magie de Lisp et à un macro relativement simple, ces deux échantillons de code sont entièrement équivalents c'est comme si je te disais que Clojurescript a un support natif pour les contrats EVM Lisp te permet de faire en sorte que cela semble une réalité. Les macros Lisp te permettent de modifier le langage lui-même.
Dans les deux cas, le résultat final est un constructeur qui me donne un objet sur lequel je peux appeler toutes ces fonctions. Mais la version utilisant defcontract est beaucoup plus facile à lire et à écrire. Cela permet à votre logique métier de se concentrer sur ce qui compte, votre code standard est généré pour vous.
si vous deviez écrire du code pour plusieurs contrats, lequel des deux exemples que je vous ai montrés préféreriez-vous écrire encore et encore ? lequel préféreriez-vous examiner dans une PR ? les macros ne résolvent pas tout, mais elles sont un outil puissant pour réduire la complexité de votre logique métier.
J'ai oublié d'inclure la définition de l'abi dans la première capture d'écran, ce qui double littéralement la longueur de l'exemple de code lmao tu comprends le principe un code lisible, c'est bien. le boilerplate fait que ton cerveau passe à côté de certaines choses. les macros aident à supprimer le boilerplate pour rendre ton code plus lisible.
2,48K