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 раз
  • Вопрос задан
  • 2341 просмотр
Решения вопроса 1
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
Я в своей практике описываю всё, что собираюсь использовать, а потом выкидываю лишнее. Крайне трудно писать сразу начисто, так что лучше потом почистить, чем дописывать создание с учётом контекста.

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

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

Войти через центр авторизации
Похожие вопросы
Artezio Нижний Новгород
от 130 000 до 180 000 ₽
Artezio Москва
от 160 000 до 220 000 ₽
Sportrecs Москва
от 150 000 до 200 000 ₽
03 дек. 2020, в 02:47
5000 руб./за проект
03 дек. 2020, в 00:05
3000 руб./за проект