多虧了Lisp的魔力和相對簡單的宏,這兩段代碼樣本是完全等價的。 就像我告訴你Clojurescript對EVM合約有原生支持一樣。 Lisp讓你感覺這成為現實。Lisp宏讓你能夠修改語言本身。
在這兩種情況下,最終結果都是一個構造函數,讓我可以在其上調用所有這些函數。 但使用 defcontract 的版本更容易閱讀和編寫。 這讓你的業務邏輯專注於重要的事情,你的樣板代碼會自動生成。
如果你在為多個合約編寫代碼,你會更願意一遍又一遍地寫哪一個例子? 你更願意在 PR 中審查哪一個? 宏並不能解決所有問題,但它們是減少業務邏輯複雜性的一個強大工具。
我忘了在第一個截圖中包含abi定義,這實際上使代碼示例的長度翻倍,哈哈 你明白我的意思了 可讀的代碼是好的。樣板代碼會讓你的大腦跳過一些東西。宏有助於去除樣板代碼,使你的代碼更具可讀性。
2.47K