не фантазируй. крутого выигрыша в объёме зипованного текста быть не может.
а потом на странице вставляем такой код <button onclick="hello('Привет!')"> и чешем репу. а потом получаем жалобу в саппорт со скриншотом консоли ошибок и теряемся в догадках. а потом обнаруживаем странные глобальные переменные, созданные этим чудом для своих нужд. вам геморроя мало? |
Во первых: при стандартном сжатии глобальные переменные не жмуться и ваш пример будет прекрасно работать;
Во вторых: привязка событий из HTML - моветон, сущности должны быть разделены; В третьих: короткие имена переменных в JS работают быстрее (да, это факт); В четвёртых: минификатор не создаёт дополнительных переменных; В пятых: чтобы тестить сжатый код многие минификаторы создают source map, который показывает ошибку в несжатом варианте; В шестых: real-тест jQuery с минификатором и без (Closure Compiler: Simple сжатие): Original Size: 211.02KB (62.58KB gzipped) Compiled Size: 88.7KB (31.26KB gzipped) Не веришь? http://closure-compiler.appspot.com/home - пробуй сам Конечно, если сравнивать сжатие на варианте без пробелов, табуляций, новых строк и комментов, то разница килобайт 6, но ведь в реальной жизни никто не пишет код в 1-у строку и без комментов ;) Ну и наконец, то, что так делают крупнейшие компании на своих сайтах и так делают отцы JS наталкивает на мысль, что это действительно того стоит. |
1. это не мой пример, а твой. ты признаёшь, что наврал?
2. они и разделены. поведение вынесено в функцию. 3. ага, на целые сотые доли микросекунд х) 4. минификатор может и нет, а вот gcc - да. тут чел на форуме недавно жаловался. 5. ага, придумали себе грабли, а потом костыли, чтобы грабли не сильно били х) по секрету скажу, что ие даже строку не всегда правильно указывает. что уж говорить про номер символа. а минификаторы пренепременно всё в одну строку пихают. 5. а теперь фокус-покус: просто вырезаем все комментарии и получаем 40кб хороший код не нуждается в комментариях. разве что по самому минимуму, а не как в джквери: Цитата:
|
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
1. не было бы. как минимум потому, что в ие функция по любому стала бы глобальной :Р
2. это не бред, а правда жизни. слои не могут быть полностью изолированы, так как им надо общаться между собой. так что либо функции завязываются на идентификаторы/классы, либо вёрстка на имена функций. один фиг. 3. нищему гора мусора, ибо из кусочков ниток заебёшься шить рубашку, да и получится нечто страшное. оптимизировать надо то, что тормозит, а не что попало. а то получается наворотят мегатонны говнокода, а потому, чтобы это не тормозило вместо рефакторинга шарятся по полу в поисках ниточек 4, 5. ну я рад за тебя, чо. пока петух не клюнет - все уверены, что в консерватории тишь и благодать. 6. а зачем это описывать? attr: function( name, value )- что тут комментировать? ну вот и спроси у джона, почему он считает свой код ужасным. наверно потому, что его тяжело поддерживать. 7. то есть кроме как примазаться к авторитетам ты ничего не можешь? детский сад. лет 5 назад все бредили xhtml и каждый "гуру" писал статьи как отрезать себе конечности, но ущемиться-таки к xhtml. потом ветер поменялся и теперь все бредят html5 и плюются на необходимость закрывать тэги, но продолжают щемиться теперь уже в html5. так и будешь хвостиком бегать за попсовыми блоггерами или может начнёшь трезво оценивать ситуацию? минификация, афайк, не даёт практически никаких бенефитов, зато даёт кучу лишних телодвижений. заняться больше не чем, как считать байтики и микросекунды? |
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Какие лишние телодвижения? Я запускаю 1 bat файл, который отрабатывает за микросекунды, но при этом объединяет файлы, сжимает код и проверяет на лексические ошибки. |
вы отдалились от темы (прочитайте её имя). Мне кажется, хватит.
|
1. при том, что такой способ определения функции всегда создаёт глобальную функцию в jscript
2. с чего бы? один скрипт обслуживающий десяток разных страниц - куда более частая ситуация, чем одна страница обслуживающая десяток сприптов (какая-то странная страница о0). поэтому вполне нормально, что вёрстка подстраивается под скрипты, а не наоборот. 3. она увеличивает общую сложность системы (например, нам YUI компрессор портил css-ки - пришлось писать костыли), усложняет отладку (фиг ты на продакшене поймёшь где ошибка), увеличивает время сборки (а когда дедлайн на носу, итерации релизного тестирования могут быть очень короткими) 6. поэтому давайте всунем в jsdoc-и полный курс стереометрии? х) не надо писать функции с кучей параметров и всё будет хорошо. разумеется, если писать говнокод, то без комментов никак. 7. то есть ты признаёшь, что своих мозгов тебе не хватает и поэтому не имея собственного мнения ты пропагандируешь идеи тех у кого учился? 8. а батничек сам появился? а тулза для минификации сама поставилась? а муки выбора тулзы не мучали? ты потратил на это своё время. бесполезно потратил. и теперь всем, кто будет работать с этим кодом после тебя придётся настраивать у себя всё окружение на которое ты завязался в своём коде. пример с jq показателен. автор сидит на линухе и юзает мэйкфайлы. у него всё хорошо. а вот чтобы собрать его под виндой надо шаманить с сигвином. нельзя просто поставить какой-нибудь питон и запустить make.py. нет, надо поставить эмулятор линуха, прикрутить сборщики css и js, и писать собственный батничек, чтобы не лазить каждый раз в консоль. хорошо, что он хотябы не заюзал какой-нибудь node-js, которого нету под винду, но некоторые и этим не гнушаются. melky, не указывай нам что делать и мы не скажем куда тебе пойти ;-) |
tenshi, воу-воу-воу! JScript?
|
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 00:29. |