Minify (مینیفای)


Minify یا به تعبیری Code Minification به فرآیندی گفته می‌شود که طی آن کاراکترهای اضافی از سورس‌کد حذف می‌گردد (پیشوند Mini به معنی «کوچک» است.) به طوری که اساساً هدف از مینیفای کردن سورس‌کد کاهش حجم آن و بالتبع بهبود پرفورمنس است. برای درک بهتر این موضوع، کد جاوااسکریپتی زیر را مد نظر قرار می‌دهیم:

$('#myModal').on('show.bs.modal', function(e) {
    if (!data) return e.preventDefault() // stops modal from being shown
})

این بلوک کد که برگرفته از فریمورک بوت‌استرپ است در حالت عادی هم در خطوط مختلف نوشته شده، هم از اسپیس برای خوانایی بیشتر استفاده شده و همان‌طور که ملاحظه می‌کنید، کامنتی هم برای توضیح بخشی از کد استفاده شده است اما کد مینیفای‌شدهٔ آن به صورت زیر خواهد بود:

$("#myModal").on("show.bs.modal",function(a){if(!data)return a.preventDefault()});

می‌بینیم که خطوط اضافی، اسپیس‌ها و همچنین کامنت موجود در سورس‌کد حذف شده‌‌اند و این باعث می‌گردد که فایلی که حاوی این بلوک کد باشد سبُک‌تر گردد.

اصطلاح Minify معمولاً در ارتباط با زبان‌های اسکریپتی همچون جاوااسکریپت یا سی‌اس‌اس، که از طریق اینترنت در اختیار کاربران قرار می‌گیرند، مورد استفاده قرار می‌گیرد به طوری که یک کد به اصطلاح Minified به مراتب سبُک‌تر بوده و مرورگر زمان به مراتب کمتری برای دانلود آن صرف خواهد کرد.

با این مزایایی که در ارتباط با مینیفای کردن سورس‌کد برشمردیم، می‌توان گفت که حذف کاراکترهای اضافی همچون خطوط و فاصله‌ها از سورس‌کد منجر به کاهش فضایی ذخیره‌سازی روی سرور و همچنین کاهش پهنای‌باند مصرفی می‌گردد.

کدهای مینیفای‌شده علاوه بر موارد فوق فیچر دیگری نیز دارند که از یک نظر نقطهٔ قوت به حساب می‌آید و از بُعدی دیگر نقطهٔ ضعف تلقی می‌گردد بدین شکل که کدهای مینیفای‌شده کار هکرها را برای درک سورس‌کد دشوار می‌سازد که این موضوع را به نوعی می‌توان یک نقطهٔ قوت به حساب آورد اما در عین حال خواندن کدهای مینیفای‌شده برای شخصِ دولوپر نیز مشکل می‌گردد (نقطهٔ ضعف) و چنانچه در آینده وی نیاز به تغییر سورس‌کد داشته باشد ممکن است کمی سردرگم گردد.


لیست نظرات
کاربر میهمان
دیدگاه شما چیست؟
کاربر میهمان
امین ظاهردَنّاک
امین ظاهردَنّاکاندروید دولوپر، مترجم
۱۳۹۷/۱۰/۲۲
البته یسری سایتا و احتمالا tools هستن unminify میکنن کد رو، مثل:
https://unminify.com