Lisp の魔法と比較的単純なマクロのおかげで、これら 2 つのコード サンプルは完全に同等です Clojurescript が EVM コントラクトをネイティブにサポートしていると言った場合のようなものです Lisp を使用すると、それを現実のように感じることができます。Lisp マクロを使用すると、言語自体を変更できます。
どちらの場合も、最終結果はコンストラクタであり、これらすべての関数を呼び出すことができるオブジェクトを提供します しかし、defcontractを使用するバージョンは読み書きがはるかに簡単です これにより、ビジネスロジックは重要なことに集中し、定型文が生成されます
複数のコントラクトのコードを書いている場合、私が示した 2 つの例のうち、どちらを何度も書きたいですか? PRでどちらをレビューしたいですか? マクロはすべてを修正するわけではありませんが、ビジネス ロジックの複雑さを軽減するための強力なツールです
最初のスクリーンショットにabi定義を含めるのを忘れていましたが、これは文字通りコードサンプルlmaoの長さを2倍にします 要点はわかります 読みやすいコードは良いです。定型文は、脳が物事をスキップさせます。マクロは、定型文を削除してコードを読みやすくするのに役立ちます
2.47K