در علوم کامپیوتر (Computer Science)، کوچکسازی فرآیند حذف عناصر غیر ضروری و بازنویسی کد برای کاهش حجم فایل است. معمولاً برای منابع صفحه وب (Webpage)، مانند فایلهای زبان نشانه گذاری فرامتن (HTML)، ورق سبک آبشاری (CSS) و جاوا اسکریپت (JavaScript) انجام میشود. کاهش اندازه منابع وب باعث میشود فایلها سریعتر منتقل شوند و صفحات وب سریعتر بارگذاری شوند.
راههای مختلفی برای کوچک کردن داده (Data) وجود دارد. ابتدایی ترین کار حذف کامنت ها، فاصله های غیرضروری و شکستگی خط (خط جدید (Newline) کاراکترها) است. در حالی که نظرات و فضای خالی به خوانایی بیشتر کد کمک می کند، مرورگر اینترنت (Web Browser) آنها را نادیده می گیرد. بنابراین این عناصر را می توان قبل از انتشارات وب (Web Publishing) با خیال راحت حذف کرد. روش دیگر به حداقل رساندن کد مورد نیاز برای هر عبارت است. در CSS، این اغلب با تبدیل CSS طولانی به CSS کوتاه انجام می شود. به عنوان مثال، یک تعریف حاشیه ممکن است هفت خط را به صورت بلند، اما تنها یک خط را به صورت خلاصه شود. در جاوا اسکریپت، نامهای طولانی متغیر (Variable) را میتوان با نامهای کوتاهتر جایگزین کرد (اغلب یک شخصیت (Character).
در زیر نمونهای از کدهای CSS قبل و بعد از کوچکسازی آورده شده است. توجه داشته باشید. چگونه نظرات، فاصله ها، خطوط شکسته، و نیم ویرگول های غیر ضروری حذف می شوند. کد همچنین از CSS طولانی به کوتاه نویسی تبدیل می شود.
کد استاندارد CSS
img.left /* float سمت چپ تصویر 400 پیکسل */ { float: left; max-width: 400px; margin-top: 8px; margin-right: 30px; < span class="command"> margin-bottom: 12px; margin-left: 0px; }
کد CSS کوچک
img.left{float:left;max-width:400px;margin:8px 30px 12px 0}
کوچکسازی پیشرفته الگوریتم (Algorithm) میتواند اندازه فایل را حتی بیشتر کاهش دهد. برای مثال، یک کوچکسازی CSS ممکن است خطوط تکراری را در یک فایل CSS پیدا کرده و حذف کند. همچنین ممکن است تعاریف مشابه CSS را در یک عبارت واحد ترکیب کند. یک کوچکساز JS ممکن است جاوا اسکریپت تابع (Function) را بازنویسی کند تا کارآمدتر باشد.
کودکسازی کد اغلب تنها تعداد کمی از کیلوبایت (Kilobyte) را ذخیره میکند. به عنوان مثال، یک فایل CSS استاندارد ممکن است 50 کیلوبایت و نسخه کوچک شده ممکن است 40 کیلوبایت باشد. با این حال، هنگام بهبود سرعت بارگذاری صفحه، هر کیلوبایت مهم است. هدف یک مینیفایر خوب این است که اندازه فایل را تا حد امکان کاهش دهد و تأثیری بر روش تجزیه (Parse) یا پردازش کد نداشته باشد. صرف نظر از اینکه چه کوچککنندهای استفاده میشود، توسعه دهنده (Developer) معمولاً یک نسخه غیر کوچکسازی شده از کد را برای ویرایش بعدی حفظ میکند.
در حالی که کوچکسازی و هر دو اندازه فایل را کاهش می دهند، آنها یکسان نیستند. کوچک سازی به سادگی متن را تغییر می دهد در حالی که فشرده سازی فایل به طور کامل کد فشرده سازی فایل (File Compression) را در یک فایل بازنویسی می کند. یک فایل فشرده باید توسط ابزار رفع فشرده سازی فایل از حالت فشرده خارج شود تا به عنوان یک فایل متنی خوانده شود. بسیاری از دودویی (Binary) از ترکیب کمینه سازی و فشرده سازی فایل "gzip" استفاده می کنند تا اندازه منابع وب را تا حد امکان کاهش دهند.
تعریف کوچک سازی (Minification) در این صفحه یک تعریف پایه نگاشته شده توسط تک بورد است. اگر مایل به ارجاع به این صفحه یا استناد به این تعریف هستید، با شرط درج لینک به این صفحه می توانید از این محتوا استفاده کنید.
هدف تک بورد توضیح اصطلاحات کامپیوتری به روشی است که به راحتی قابل درک باشد. ما برای سادگی و دقت با هر تعریفی که منتشر می کنیم تلاش می کنیم. اگر بازخوردی درباره تعریف کوچک سازی (Minification) دارید یا میخواهید یک اصطلاح فنی جدید پیشنهاد کنید، لطفاً با ما تماس بگیرید.
آیا می خواهید اصطلاحات فنی بیشتری یاد بگیرید؟ در خبرنامه روزانه یا هفتگی مشترک شوید و شرایط و آزمون های ویژه را در ایمیل خود تحویل بگیرید.