dankzij de magie van Lisp en een relatief eenvoudige macro zijn deze twee codevoorbeelden volledig gelijkwaardig het is alsof ik je vertel dat Clojurescript native ondersteuning heeft voor EVM-contracten Lisp laat je dat als een realiteit voelen. Lisp-macro's laten je de taal zelf aanpassen.
In beide gevallen is het eindresultaat een constructor die me een object geeft waarop ik al deze functies kan aanroepen. Maar de versie met defcontract is veel gemakkelijker te lezen en te schrijven. Dit laat je bedrijfslogica zich richten op wat belangrijk is, je boilerplate wordt voor je gegenereerd.
Als je code zou schrijven voor meerdere contracten, welke van de twee voorbeelden die ik je liet zien zou je dan liever keer op keer schrijven? Welke zou je liever beoordelen in een PR? Macros lossen niet alles op, maar ze zijn een krachtig hulpmiddel om de complexiteit in je bedrijfslogica te verminderen.
Ik vergat de abi-definitie op te nemen in de eerste screenshot, wat letterlijk de lengte van de codevoorbeelden verdubbelt, lmao je snapt het punt leesbare code is goed. boilerplate zorgt ervoor dat je hersenen over dingen heen slaan. macro's helpen boilerplate te verwijderen om je code leesbaarder te maken.
2,52K