Задать вопрос
ArturAralin
@ArturAralin
Программист, Музыкант

Хорошо ли плодить переменные внутри JS объекта?

Всем привет! Спорим с другом-разработчиком, как правильно поступать я приверженец минимализма.

Я предлагаю такой подход

function foo(){
var a = $('el1');
var b = $('el2');
$('el3').fuu(); /**/
a.fii()
a.fooa()
b.foo1():
b.aaa();
}

new foo();


и подход моего друга

function foo(){
var a = $('el1');
var b = $('el2');
var c = $('el3');
c.fuu();
a.fii()
a.fooa()
b.foo1():
b.aaa();
}

new foo();


Вопрос в том, правильно ли заводить переменную для jQ объекта если он используется 1 раз
  • Вопрос задан
  • 2357 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 1
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
Я в своей практике описываю всё, что собираюсь использовать, а потом выкидываю лишнее. Крайне трудно писать сразу начисто, так что лучше потом почистить, чем дописывать создание с учётом контекста.

В общем, лучше делать как Микеланджело, только отсекать лишнее придётся от того куска гранита, в который мы сами и вылили свои мысли (в гранит ведь можно лить — так премьер сказал, а он — юрист, всё знает).
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
barkalov
@barkalov
В общем случае, ради единственного вызова переменную заводить не стоит. Но могут быть исключения. Например, вы собираетесь реализовать использование этой переменной в будущем, и хотите дать это понять в коде. Или просто для читабельности, если метод небольшой и легко видно, где переменная используется (как в примере).
Ответ написан
Комментировать
Rrooom
@Rrooom
Зависит от методологии разработки. Если вы знаете, что точно будете рефакторить - пишите как удобно. Потом ide или линтер подскажут, что вы лишнее сделали.
В общем случае - "лучше перебдеть" и закэшировать ненужное, чем где-нибудь снова создавать объект. Память "дешевле" отзывчивости приложения.
Ответ написан
Комментировать
@PiloTeZ
...
ИМХО если объект используется один раз, то нет смысла его кэшировать
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы