Сушка некоторого кода

#javascript #jquery

#javascript #jquery

Вопрос:

Я сушу, чтобы высушить этот код из исходного кода jQuery:

 cssNumber: {
    "fillOpacity": true,
    "fontWeight": true,
    "lineHeight": true,
    "opacity": true,
    "orphans": true,
    "widows": true,
    "zIndex": true,
    "zoom": true
}
 

Я предлагаю следующее. Можно ли это сделать лучше?

 cssNumber: {}
"fillOpacity fontWeight lineHeight opacity orphans windows zIndex zoom"
    .split(" ")
    .forEach(function() {
        cssNumber.name = true;
    });
 

Комментарии:

1. Какой цели вы хотите достичь? Первая версия определенно обладает лучшей производительностью. Чтобы сократить код, вам следует взглянуть на минификаторы.

2. Я воспринимаю это как забавное упражнение.

3. Я не думаю, что повторение true считается повторением самого себя, если только код не совпадает с false другим. В этом случае добавьте его в функцию, и он все равно будет примерно таким же эффективным. Но DRY больше подходит для больших блоков кода.

4. Какую проблему вы пытаетесь решить? Потому что я бы сказал, что ваш пример жертвует удобочитаемостью и циклами для длины исходного кода, и это не очень хорошая сделка в моей книге

5. И более болезненно изменять один параметр.

Ответ №1:

Я бы пошел на это только в том случае, если вам действительно нужно сэкономить байтовое пространство. То, что вы хотите сделать, это заполнить объект значениями. Чем вы должны именно это. Какой ваш первый код.

Комментарии:

1. Неважно. В этом случае высушенный код длиннее, даже при минимизации. — Сушка кода может быть хорошей вещью в некоторых случаях, но в данном случае это не так, и я полностью согласен с комментарием 32bitkid по этому вопросу здесь.

2. @Smamatti я тоже, в первую очередь, я не понял смысла сушки в этом случае