Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как часто вы используете qq && qq() (https://javascript.ru/forum/misc/24774-kak-chasto-vy-ispolzuete-qq-qq.html)

Livaanderiamarum 13.01.2012 17:40

Как часто вы используете qq && qq()
 
Как часто вы используете qq && qq()
Типа если функция существует, то вызвать))))
куда удобнее чем if'ы

подскажите сахарок который юзаете вы:)

Gozar 13.01.2012 17:56

Не часто, я стараюсь об этом вообще не задумываться.

Сложно говорить о сахаре в js, при подобном использовании код часто становиться нечитабельным.

Стараюсь не злоупотреблять подобными конструкциями и цепями вызовов, хотя иногда получается цепь длинной в страницу, чаще в строку по 10 функций подряд, эдакая лапша без jq, с jq совсем страшно порой :)

Livaanderiamarum 13.01.2012 18:04

Цитата:

Сообщение от Gozar (Сообщение 150192)
Не часто, я стараюсь об этом вообще не задумываться.

Сложно говорить о сахаре в js, при подобном использовании код часто становиться нечитабельным.

Стараюсь не злоупотреблять подобными конструкциями и цепями вызовов, хотя иногда получается цепь длинной в страницу, чаще в строку по 10 функций подряд, эдакая лапша без jq, с jq совсем страшно порой :)


А мне почему-то цепочки легче воспринимаются

Gozar 13.01.2012 18:31

Цитата:

Сообщение от Livaanderiamarum (Сообщение 150198)
А мне почему-то цепочки легче воспринимаются

Это если логика в них простая, а если входит одно, а выходит другое и логика в цепочке меняется по 10 раз то сложновато уже это воспринимать. Вернее это приходится как-то описывать иначе через пару дней вспомнить точно как идут данные через цепь нереально.

Рассуждения абстракты, поэтому не имеют особого смысла без примеров, а мне сейчас лень приводить пример.

Gozar 13.01.2012 18:40

Придумал пример: берешь минимизированную версию jq и пытаешься её привести в читабельный вид, чтобы было понятно что и за что отвечает.
Если в течении недели приведешь её хотя бы в более менее внятный вид, то считай что я заблуждаюсь. Хотя я думаю и месяца будет мало.

Aetae 13.01.2012 19:28

По теме: в данном конкретном случе предпочитаю использовать if, но например если нужно присвоить результат то куда удобнее: a=qq&&qq();
P.S. Это нифига не сахарок, с таким подходом сахаром можно обозвать всё что угодно кроме asm.

monolithed 13.01.2012 19:47

Цитата:

Сообщение от Aetae
всё что угодно кроме asm.

В С/С++ такое тоже не прокатит :)

poorking 13.01.2012 20:03

Согласен с Gozar, лучше таким не злоупотреблять. Я вот всегда делаю упор на читабельность (конечно, не в проигрыш производительности). Даже когда после if (condition) идет одна инструкция, я всегда открываю фигурные скобки
if (typeof cache[id] !== "undefined") {
    return cache[id];
}

То же относится и к циклам, просто вымораживает такой код
for (var i = 0, l = array.length; i < l; i ++) while (i --) doSomething()


но не такой
for (var i = 0, l = array.length; i < l; i ++) {
    while (i --) {
        doSomething();
    }
}


А вот такими
a && array.push(a)
делами пусть занимается минификатор, он так и делает

nerv_ 13.01.2012 20:40

Цитата:

Сообщение от poorking
Я вот всегда делаю упор на читабельность

Кажется, я начинаю Вас понимать :)

Livaanderiamarum 13.01.2012 20:49

Цитата:

Сообщение от nerv_ (Сообщение 150266)
Кажется, я начинаю Вас понимать :)

Кается я начинаю всегда внимательно делать чтение упора понимания)))


Часовой пояс GMT +3, время: 03:34.