Gopher Academy
3.34K subscribers
920 photos
40 videos
280 files
2.02K links
🕸 Gopher Academy

🔷interview golang
https://github.com/mrbardia72/Go-Interview-Questions-And-Answers

حمایت مالی:
https://www.coffeete.ir/mrbardia72

ادمین:
@mrbardia72
Download Telegram
🔵 عنوان مقاله
Let's Look at Go's New Experimental API for JSON

🟢 خلاصه مقاله:
**این مطلب نگاهی عملی به یک API آزمایشی و جدید برای JSON در Go 1.25 دارد؛ تلاشی که به‌دلیل کاستی‌های بسته قدیمی json شکل گرفته است. مقاله توضیح می‌دهد این نسخه «v2» چه مشکلاتی از طراحی قبلی را هدف گرفته، تجربه برنامه‌نویس را چگونه شفاف‌تر و قابل پیش‌بینی‌تر می‌کند، و در کارهای روزمره مثل encode/decode، پیکربندی رفتار، مدیریت خطا و رسیدگی به مواردی مانند اعداد، null، فیلدهای ساختار و جریان‌ها چه تفاوت‌هایی دارد. همچنین تأکید می‌کند که این API هنوز آزمایشی است، برای ارزیابی و دریافت بازخورد عرضه شده، ممکن است تغییر کند، و توصیه‌هایی برای نحوه امتحان‌کردن آن در Go 1.25 و ملاحظات مهاجرت ارائه می‌کند.

🟣لینک مقاله:
https://golangweekly.com/link/174056/web


👑 @gopher_academy
1
🔵 عنوان مقاله
The 9 Go Test Assertions I Use (and Why)

🟢 خلاصه مقاله:
**
الکس در ادامه‌ی بحث پرهیز از پکیج‌های آماده‌ی assertion در تست‌های Go، توضیح می‌دهد عملاً از چه چیزی استفاده می‌کند: مجموعه‌ای کم‌تعداد از ۹ تابع assertion دست‌ساز. او می‌گوید کتابخانه‌های بزرگ هرچند کدنویسی را کوتاه می‌کنند، اما اغلب منجر به ابهام، جریان کنترل پنهان و پیام‌های خطای نامفهوم می‌شوند. در مقابل، چند کمک‌تابع ساده که به t.Helper() متکی‌اند، بدون وابستگی خارجی و با پیام‌های خطای دقیق، هم خوانایی را بالا می‌برند و هم از تکرار جلوگیری می‌کنند.

این ۹ تابع رایج‌ترین نیازها را پوشش می‌دهند: برابری/نابرابری، nil و non-nil، شرایط بولی، شامل‌بودن در رشته‌ها یا مجموعه‌ها، و انتظارهای مرتبط با خطا. اصل مهم این است که این توابع نازک و شفاف باشند، منطق تست را پنهان نکنند و خطا را با مقادیر واقعی/مورد انتظار گزارش کنند.

او به دام‌های رایج نیز اشاره می‌کند: تفاوت nil در اینترفیس‌ها، محدودیت‌های مقایسه‌ی عمیق، و ترجیح سنجش رفتار قابل مشاهده به‌جای برابری کامل ساختارها. نتیجه‌گیری او درباره‌ی «آیا assertion ضدالگو است؟» مشروط است: اگر کلی‌گرا و جادویی شوند، بله؛ اما اگر کم‌حجم، صریح و متناسب با حوزه‌ی تست بمانند، ابزاری مفید هستند. قاعده نهایی: جایی که تکرار دارید از کمک‌تابع استفاده کنید، و هر جا یک بررسی اختصاصی پیام را شفاف‌تر می‌کند، همان را درجا بنویسید.

🟣لینک مقاله:
https://golangweekly.com/link/173627/web


👑 @gopher_academy
👍1