Amirali Yaghoutiمهندس ارشد نرم‌افزار

مطالعه موردی مهندسی

پاک‌سازی امن اسِت‌ها

صفحات ووکامرس پر از CSS و جاوااسکریپتی هستند که هیچ‌وقت به کارشان نمی‌آید. حذف کردنشان ساده است؛ کار واقعی این است که حذفشان کنی و جایی نشکند.

مسئله تجاری

صفحات ووکامرس معمولاً فایل‌های سراسری قالب، صفحه‌ساز و آیکون‌ها را با خودشان می‌آورند، در حالی که هر مسیری به همه‌ی آن‌ها نیاز ندارد. ریسک هم روشن است: پاک‌سازی تهاجمی می‌تواند کارت محصول، مسیر پرداخت، صفحه‌ی حساب کاربری یا پیش‌نمایش ادمین را بشکند.

آنچه تحویل دادم

  • ماژول‌های MU با دامنه‌ی مشخص برای پاک‌سازی فایل‌های آرشیو، محتوا و صفحه‌ی اصلی.
  • مرزهایی که مسیر درخواست را می‌شناسند، تا پرداخت، سبد، ادمین و حالت‌های پویای فروشگاه دست‌نخورده بمانند.
  • یک فهرست خصوصی و قابل بازبینی که ماژول‌های پاک‌سازی را از راه تاریخچه‌ی گیت قابل بازگردانی نگه می‌دارد.

رویکرد فنی

  • پاک‌سازی برای هر مسیر جدا تصمیم گرفته می‌شود، نه با یک قانون سراسری. قانون سراسری بالاخره به مسیری می‌رسد که به همان فایل نیاز داشته است.
  • پرداخت، سبد و ادمین صراحتاً معاف‌اند. شکستن همین مسیرهاست که بیشترین هزینه را دارد و دیرتر از همه هم دیده می‌شود.
  • هر ماژول کوچک و مستقل است تا بشود تک‌تک برشان گرداند؛ وقتی چیزی خراب می‌شود باید بتوانی دقیقاً همان یکی را خاموش کنی.

نتیجه و شواهد

این تغییر حجم اضافی فرانت‌اند را کم می‌کند و در عین حال سلکتورهای واقعی پروداکشن، نقشه‌ی وابستگی‌ها و قوانین مسیرها خصوصی می‌مانند.

اهمیت برای کارفرما

هر کیلوبایتی که از یک مسیر موبایل کم شود مستقیم به سرعت محسوس تبدیل می‌شود، و اینجا این کار بدون هیچ ریسکی برای مسیرهای پولی انجام شده است.

یادداشت‌های تحویل

نقش من این بود که مرز امنِ پاک‌سازی را تعریف کنم، مسیرهای درآمدزا را محافظت کنم و ماژول‌ها را همراه با رشد سایت قابل نگهداری نگه دارم.

  • اول سراغ صفحه‌های عمومیِ پربازده رفتم.
  • از قواعد فراگیری که می‌توانست رفتار پرداخت را خراب کند پرهیز شد.
  • سورس خصوصی ماند و مستندات عمومی پاک‌سازی شد.
خلاصه-اجرایی-پروژه

خلاصه اجرایی خوانا

خلاصه_اجرایی {
  پروژه: "MU Safe Asset Cleanup"
  زمینه: "کارایی ووکامرس"
  دامنه: "آرشیو، محتوا، صفحه‌ی اصلی — به‌ازای هر مسیر"
  معاف_همیشه: "پرداخت، سبد، ادمین، حالت‌های پویای فروشگاه"
  ساختار: "ماژول‌های کوچک و جدا، تک‌تک قابل برگرداندن"
  بازیابی: "فهرست خصوصی قابل بازبینی از راه تاریخچه‌ی گیت"
  خصوصی: "سلکتورهای پروداکشن، وابستگی‌ها، قوانین مسیر"
}

ارزش حرفه‌ای این پروژه

این پروژه بیشتر درباره‌ی چیزی است که حذف نکردم. قضاوت مهندسی اینجا در فهرست معاف‌ها خودش را نشان می‌دهد.

ماژول‌های کوچک و جدا به‌جای یک فایل بزرگ پاک‌سازی هم باعث شد پس گرفتن یک تصمیم ارزان تمام شود.