得益于Lisp的魔力和相对简单的宏,这两个代码示例是完全等价的。 就像我告诉你Clojurescript原生支持EVM合约一样。 Lisp让你觉得这变成了现实。Lisp宏让你可以修改语言本身。
在这两种情况下,最终结果是一个构造函数,它给我一个可以调用所有这些函数的对象。 但使用 defcontract 的版本更容易阅读和编写。 这让你的业务逻辑专注于重要的内容,你的样板代码会为你生成。
如果你在为多个合约编写代码,你更愿意反复编写我给你展示的两个例子中的哪一个? 你更愿意在PR中审查哪一个? 宏并不能解决所有问题,但它们是简化业务逻辑的强大工具。
我忘了在第一张截图中包含abi定义,这实际上使代码示例的长度翻倍,哈哈 你明白我的意思 可读性好的代码。样板代码让你的大脑跳过一些东西。宏有助于去除样板代码,使你的代码更具可读性。
2.47K