نکاتی در مورد generic
شاید بشه اینطوری گفت که در گولنگ قبل از جنریک برنامه نویس ها سعی میکردند نبود جنریک رو با استفاده از اینترفیس جبران کنن یا با استفاده از code generation
در کل استفاده از جنریک خوانایی کد رو کم میکنه، نوشتن کد رو پیچیده میکنه و حتی performance رو میتونه بدتر کنه
بنابراین تاجایی که واقعا لازم نیست بهتره ازش استفاده نشه
علت اینکه جنریک رو از نسخه یک وارد نکردن هم اینه که نتونستن دیزاین ساده و خوبی براش ببینن و تصمیم گرفتن ویژگی به این مهمی رو کنار بذارن، و واقعا من فکر میکنم تصمیم درستی گرفتن
تو این مقاله مفصل در موردش صحبت میکنه خوبه که مطالعه بشه
https://t.me/gocasts/178
مثلا این یکی از نکاتشه که پیشنهاد میکنه interface-base api هارو با جنریک جایگزین نکنیم..
DO NOT rewrite interface-based APIs to use Generics. Given the current constraints of the implementation, any code that currently uses non-empty interfaces will behave more predictably, and will be simpler, if it continues using interfaces. When it comes to method calls, Generics devolve pointers into twice-indirect interfaces, and interfaces into… well, something quite horrifying, if I’m being honest.
@gocasts
#generic
Post #265
2.27K
Go Casts | Systems & Agents 🚀 Generics can make your Go code slower.pdfTelegram Go Casts 🚀 هر چقدر از خوبی این مقاله بگم، کم گفتم! واقعیتش من اصلا در مورد Generics ذوق زده نشدم و همچنان تا وقتی که واقعا در کارم لازمش نداشته باشم سمتش نمیرم این مقاله تکنیکال به زیبایی هر چه تمام تر نحوه پیاده سازی Generics در Go رو توضیح میده و کاملا شفاف توضیح…
- 👍 10
- 🔥 3