یکی از اولین چیزهایی که هر توسعهدهنده جاوااسکریپت میآموزد این است: «هرگز ترد اصلی مرورگر را مسدود نکن!» مسدود کردن ترد اصلی یعنی کاربر نتواند با صفحه تعامل کند، دکمهها واکنش نشان ندهند و انیمیشنها متوقف شوند. اما آیا این یک قانون غیرقابلنقض است؟
ویکتور آیومینو (Victor Ayomipo)، توسعهدهنده نرمافزار، در مقالهای جذاب توضیح میدهد که چگونه در یک پروژه پسوند صفحهگرفت مرورگر، با این قانون طلایی مخالفت کرد. او تصمیم گرفت در این مورد خاص، مسدود کردن ترد اصلی کاملاً بهترین کار ممکن باشد - تصمیمی که در نهایت به نتایج بهتری برای کاربران منجر شد.
این داستان به ما نشان میدهد که در دنیای توسعه نرمافزار، زمینه و شرایط حاکم بر هر تصمیم فنی اهمیت زیادی دارد. گاهی اوقات، قوانینی که سالهاست به عنوان «بهترین شیوه» شناخته میشوند، باید در برابر نیازهای واقعی کاربران و محصول کنار گذاشته شوند.
به نقل از کدیران : این مقاله به ما یادآوری میکند که در توسعه نرمافزار، هیچ قانونی مطلق نیست. در دنیای توسعه وب، جاوااسکریپت به طور پیشفرض تکترد است و مسدود کردن ترد اصلی معمولاً به معنای یخزدن کامل رابط کاربری است؛ جایی که هیچ دکمهای کار نمیکند، هیچ انیمیشنی پخش نمیشود و کاربر با تجربهای ناامیدکننده و گیجکننده مواجه میشود. به همین دلیل است که توسعهدهندگان وب سالهاست که این قانون طلایی را رعایت میکنند و هرگز آن را زیر پا نمیگذارند.
با این حال، مورد استفاده آیومینو در یک پسوند صفحهگرفت نشان میدهد که گاهی اوقات «استثنا» خود قانون است. در سناریوهایی که یک فرآیند طولانی باید به صورت همزمان اجرا شود و کاربر نباید در حین آن هیچ تغییر دیگری در صفحه ایجاد کند، مسدود کردن ترد اصلی میتواند راهحلی کاملاً منطقی و حتی ضروری باشد. در این حالت، آنچه که در ظاهر یک مشکل یا یک اشتباه به نظر میرسد، در واقع یک ویژگی دلخواه و طراحیشده است.
این رویکرد انتقادی نسبت به بهترین شیوهها، در دنیای وب۳ و بلاکچین نیز اهمیت زیادی دارد. در اپلیکیشنهای غیرمتمرکز، جایی که کاربران با تراکنشهای مالی و قراردادهای هوشمند سروکار دارند، دانستن زمان مناسب برای مسدود کردن رابط کاربری میتواند از خطاهای پرهزینه و حتی از دست رفتن سرمایه جلوگیری کند. به عنوان مثال، در حین امضای یک تراکنش، شاید بهتر باشد کاربر نتواند همزمان اقدام دیگری انجام دهد.
کدیران معتقد است که توسعهدهندگان موفق آنهایی نیستند که قوانین را حفظ کرده و کورکورانه اجرا میکنند، بلکه آنهایی هستند که دلیل وجود هر قانون را درک کرده و میدانند چه زمانی باید از آن عبور کنند. در نهایت، قضاوت فنی خوب نیازمند درک عمیق از زمینه محصول و نیازهای کاربران است.