2014-02-12 4 views
4

Под оптимизацией я имею в виду, например, выбор между использованием базового цикла for по сравнению с Array.prototype.forEach(), на основе которого реализация, кажется, идет быстрее, в которой браузеры и т. Д. (И в некоторых случаях это может распространяется на микро-оптимизации, которая they say can be dangerous)Написание JavaScript для минимизации vs. для оптимизации

Вот пример того, что может подразумеваться под «писать для минификация»:.

if(foo === bar) { 
    return true; 
} else { 
    return false; 
} 

// writing the following instead, which reduces size by a few bytes 

return foo===bar; //will return true or false, depending on what the statement evaluates to 

Некоторые могут утверждать, что используя, что if else утверждение немного более удобным для чтения на первый взгляд, но я бы сказал, что второй способ письма он лучше меняет.

Что касается минимизации, то, насколько я понимаю, большая цель заключается в сокращении времени отклика сервера.

Каков баланс между записью для минимализации и временем отклика сервера по сравнению с читабельностью, а также записью для «оптимизации»?

Редактировать
Можно перефразировать вопрос, как писать для оптимизации против написания, чтобы сделать код «преуменьшать меньше».

+1

Это не минимизация, это просто ярлык. Есть инструменты для минимизации кода –

+0

Я это понимаю. Разве первый не будет нормально мириться с чем-то вроде if (a === b) {return true} else {return false}, а второй minify на что-то вроде return a === b? –

ответ

8

Эти два варианта не являются взаимоисключающими. Вы должны использовать известный мини-усилитель, например, компрессор YUI или Closure.

Напишите свой код для чтения и обслуживания. Затем при необходимости оптимизируйте его. Минификатор будет работать практически на любом коде. Дополнительное усилие сделать что-то «уменьшает меньше» настолько мало, что это действительно не стоит делать.

+0

+1 Имеет смысл, спасибо за ответ. «Сокращение меньше» - это хороший термин для того, что я имел в виду в моем вопросе. –

+0

Отлично! Рад, что смог помочь. Обязательно отметьте ответ как принятый, если он ответит на ваш вопрос :) – Codeman

Смежные вопросы