Ключова разлика: Обфускацията и изтриването са две често използвани термини в програмирането, особено при програмирането на JavaScript. Minification определя процес, чрез който файловете се модифицират чрез премахване на всички ненужни символи във файловете. Този процес прави файловете по-леки и по този начин спомага за подобряване на производителността. От друга страна, затъмнението е процес на модифициране на файловете по начин, по който те стават нечетливи. Той предотвратява повторното използване на изходния код от неупълномощени лица.
Обфускацията и минимизирането са две често използвани термини в програмирането, особено при програмирането на JavaScript. В програмирането, minification се отнася до техника, чрез която ненужните знаци се премахват от изходния код, като същевременно се запазва същата функционалност, както преди процеса на понижаване. От друга страна, объркването се отнася до модифицирането на файловете по начин, който им прави трудно да се четат и разбират. По този начин и двете имат различни цели за постигане.
Minification определя процес, чрез който файловете се модифицират чрез премахване на всички ненужни символи във файловете. Този процес прави файловете по-леки и по този начин спомага за подобряване на производителността. Тези файлове се зареждат на браузъри за по-малко време. Въпреки това е важно функционалността на входния файл да се запази непроменена. В много от по-големите проекти, инфинирането се запазва в процеса на изграждане.
Този процес обикновено се извършва чрез анализиране на код и по-късно повторно извеждане в компресиран вид. Кодът обикновено остава непрочетено с голи очи. Той премахва всички ненужни кодове като белите пространства, коментарите и новите символи. Освен получаването на по-малък файл, процесът също проверява валидността на кода, тъй като невалидният код не се анализира и не се прави правилно.
Обфускацията е процес на модифициране на файловете по начин, по който те стават нечетливи. Той предотвратява повторното използване на изходния код от неупълномощени лица. Въпреки това, има шансове за обратен инженеринг или де-обездвижване на кода. За да разбере заобикалящия код, браузърът трябва да може да преведе скрития изходен код на JavaScript в първоначалния му вид. Подобно на премахването, той премахва и коментарите и белите пространства. Това обаче води и до потапяне на кода. Функциите и имената на променливите обикновено се преобразуват в по-малки. Това води до намаляване на размера на кода и също така кодът става по-труден за разбиране.
Обфускация и понижаване, и двете са процеси на модифициране на изходния код като JavaScript. Въпреки това, и двете се различават предимно в целите си. Извършва се натрупване за подобряване на ефективността на кода. От друга страна, объркването се прави, за да се направи източникът по-труден и нечетим, за да се скрие оригиналния код. Съществуват различни инструменти за затъмняване и изтриване.
Процесът на усъвършенстване е сравнително прост и също така има по-малко шансове за генериране на бъгове в сравнение с объркване. Обфускацията може също да увеличи нивото на трудност при отстраняването на грешки в кода по време на производството.
Сравнение между минимизиране и заблуда:
Минимизиране | еквилибристика | |
Определения | Промяната се отнася до техника, с която ненужните знаци се премахват от изходния код, като същевременно се запазва същата функционалност, както преди процеса на понижаване | Обфускацията е процес на модифициране на файловете по начин, по който те стават нечетливи и трудни за разбиране. |
Цел | Подобряване на представянето | Скриване на изходния код |
методи | Подобно на премахването на символите за празно пространство, новите символи в реда, коментарите и понякога блокиращите разделители | Както промяната на имената на променливите, функциите и членовете, което прави програмата много по-трудна за разбиране |
Примери за използвани инструменти | JSMin и YUI компресор. | Dojo компресор |
процес | прост | Сравнително сложен |
Риск и поддръжка | Сравнително по-малко | Сравнително повече |