#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 я тоже, в первую очередь, я не понял смысла сушки в этом случае