🔵 عنوان مقاله
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
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
go.dev
A new experimental Go API for JSON - The Go Programming Language
Go 1.25 introduces experimental support for encoding/json/jsontext and encoding/json/v2 packages.
❤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
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
www.alexedwards.net
The 9 Go test assertions I use (and why) - Alex Edwards
👍1