Tack vare magin med LISP och ett relativt enkelt makro är dessa två kodexempel helt likvärdiga det är som om jag sa till dig att Clojurescript har inbyggt stöd för EVM-kontrakt Med Lisp kan du få det att kännas som verklighet. Med Lisp-makron kan du ändra själva språket.
I båda fallen är slutresultatet en konstruktor som ger mig ett objekt som jag kan anropa alla dessa funktioner på Men versionen som använder defcontract är mycket lättare att läsa och skriva På så sätt kan din affärslogik fokusera på det som är viktigt, din boilerplate genereras åt dig
Om du skrev kod för flera avtal, vilket av de två exemplen jag visade dig skulle du helst skriva om och om igen? vilken skulle du hellre granska i en PR? Makron löser inte allt, men de är ett kraftfullt verktyg för att minska komplexiteten i din affärslogik
Jag glömde att inkludera abi-definitionen i den första skärmdumpen som bokstavligen fördubblar längden på kodprovet lmao Du förstår vad jag menar läsbar kod bra. Boilerplate får din hjärna att hoppa över saker. Makron hjälper till att ta bort standardmallar för att göra din kod mer läsbar
2,69K