Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #651 (permalink)  
Старый 10.10.2014, 02:37
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 14.03.2012
Сообщений: 1,808

Цитата:
l-liava-l,
ну вот, чем создание новой переменной не вариант? Да, будет лишняя переменная и грязный код. Но он итак грязный.
Говорюж, многие так и делают)

Но есть более важные вещи и на них стоит обратить внимание в первую очередь: начиная от шума {} и никому ненужного null заканчивая тем что код не пишет сам себя.

let, как по мне - вообще бред, я даже представить не могу такую конструкцию которя одновременно будет и не говнокодом и там будет нужен let.

Классы... не пишу на кофе везде исключительно из-за них, кажуться неповоротливыми
__________________
Научу себя плохому

Последний раз редактировалось l-liava-l, 10.10.2014 в 02:49.
Ответить с цитированием
  #652 (permalink)  
Старый 10.10.2014, 09:33
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
let, как по мне - вообще бред, я даже представить не могу такую конструкцию которя одновременно будет и не говнокодом и там будет нужен let.


Как по мне функциональная область видимости - это изначальный феил и поэтому let для меня оч важная штука, которую я юзаю просто повсеместно. Например в Snakeskin тоже блочная область видимости у переменных.

- template foo()
  - for var i = 0; i < 10; i++
    ? console.log(i) // 0, 1, 2 ...
  ? console.log(i) /// Error, i is not defined


Вообще я для себя сделал такое правило: var для глобальных переменных и локальных переменных функций высшего уровня.

Цитата:
я даже представить не могу такую конструкцию которя одновременно будет и не говнокодом и там будет нужен let.
for (let i = 0; i < 10; i++) {
    ...
}

for (let i = 0; i < 10; i++) {
    let someVal; // использование с var в данном примере приведёт к ошибке
                     // придётся писаться var someVal = void 0;

    if (...) {
        someVal = true;
    }

    if (someVal ) {
        ...
    }
}


и т.д.

Сообщение от Safort Посмотреть сообщение
kobezzza,

Да что же это такое?! Ещё один транслятор, который поддерживает многие крутые плюхи из ES6, но не может let! Как так вообще? Значит, классы они осилили, а какой-то let - нет?
Слоупоки, но тебе никто не мешает:

1) Таки завести es6transpiler ||
2) Прикрутить https://github.com/olov/defs к своему транслятору.

Цитата:
А в js нет блочной области видимиости, как тут let сделаешь?
Молча

Цитата:
Инициализация функии дело очень затртаное, вангую что не рационально делать такие хаки, вот и не сделали.
Никто так не делает, а юзают статический анализ и добавление префиксов.

Цитата:
Да, будет лишняя переменная и грязный код. Но он итак грязный.
Код, который не предназначен для ручного редактирования человеком (а результат работы транслятора именно такой код) может быть любым, лишь бы он не бажил и не тормозил
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 10.10.2014 в 10:19.
Ответить с цитированием
  #653 (permalink)  
Старый 10.10.2014, 10:47
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

kobezzza,
Цитата:
1) Таки завести es6transpiler ||
Так я хотел, но оно не завелось из-за бага(ты ещё про него в ишью написал)

Цитата:
2) Прикрутить https://github.com/olov/defs к своему транслятору.
Спасибо, сейчас посмотрю что за зверь такой)
Но в моём случае было бы не плохо, если бы Traceur просто не трогал let, т.к. поддержка старых браузеров мне не нужна, а в новых это всё уже есть.
Ответить с цитированием
  #654 (permalink)  
Старый 10.10.2014, 10:56
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
Так я хотел, но оно не завелось из-за бага(ты ещё про него в ишью написал)
Ну я же завёл Кстати, termi писал, что установка Cygwin также пофиксит баг.
__________________
kobezzza
code monkey
Ответить с цитированием
  #655 (permalink)  
Старый 10.10.2014, 11:32
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

kobezzza,
Цитата:
Ну я же завёл
Ну а я нет ;(

Цитата:
Кстати, termi писал, что установка Cygwin также пофиксит баг.
Ок, дам ему второй шанс)
Ответить с цитированием
  #656 (permalink)  
Старый 10.10.2014, 12:21
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 14.03.2012
Сообщений: 1,808

Цитата:
Молча
Потом описал возможные решения, как рациональное так и нет. вредный.

Цитата:
for (let i = 0; i < 10; i++) {
...
}

for (let i = 0; i < 10; i++) {
let someVal; // использование с var в данном примере приведёт к ошибке
// придётся писаться var someVal = void 0;

if (...) {
someVal = true;
}

if (someVal ) {
...
}
}
Цитата:
которя одновременно будет и не говнокодом и там будет нужен let.
Использование кучи циклов в одной функции не айс, это плохо. (имхо) нид выносить в отдельные. Поэтому говнокод.
Если дело в каких то сложных вычислениях, где для каждого цикла функцию новую поднимать напряжно (не могу представить), то тут конечно пригодится блочная область видимости (возможно, ведь тоже какие то ресурсы тратятся), да и не жизненно мне кажется, пока не сталкивался.
Короче лично я никогда не испытвал надобности в let, но опыта пока мало так что посмотрим)
__________________
Научу себя плохому
Ответить с цитированием
  #657 (permalink)  
Старый 10.10.2014, 12:26
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от l-liava-l
Использование кучи циклов в одной функции не айс
Мсье внезапно стал профессор?

Сообщение от l-liava-l
Поэтому говнокод.
Эка нынче пошли критерии говнокода, 2 цикла и сразу говнокод.

__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #658 (permalink)  
Старый 10.10.2014, 12:35
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

l-liava-l, сразу видно что ты не писал никогда никаких парсеров или различных плясок с графами / векторами
Да и вообще, var был архитектурной ошибкой JS, и let был введён как костыль. Обрати внимание, что const тоже имеет блочную область видимости. А в LLJS вообще только блочная область видимости.
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 10.10.2014 в 12:38.
Ответить с цитированием
  #659 (permalink)  
Старый 10.10.2014, 13:55
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 14.03.2012
Сообщений: 1,808

Цитата:
Эка нынче пошли критерии говнокода, 2 цикла и сразу говнокод.
На 2 цикла можно и var написать, а 10 циклов в одной функции не круто (пока не столкнулся с потребностью)

Цитата:
Мсье внезапно стал профессор?
Тебе что в определенный момент справку выдали? Это моя точка зрения, возможно ошибочная, пытаемся вот разобраться. бомбануло

Цитата:
l-liava-l, сразу видно что ты не писал никогда никаких парсеров или различных плясок с графами / векторами
Парсеры писал, плясок с графами / векторами нет. (хотя если под вектором ты имеешь ввиду array то писал).
Там же обычно вложенности, если не вложенность то это уже отдельная операция и ее можно вынести в другую функцию.
Цитата:
var был архитектурной ошибкой JS
Цитата:
Обрати внимание, что const тоже имеет блочную область видимости.
Цитата:
А в LLJS вообще только блочная область видимости.
Аргумент, как бы наталкивет на мысль что var действительно ошибка. , но функция это тоже, по сути, блок.. let костыль, получается так, но мне он не очень нужен.
__________________
Научу себя плохому
Ответить с цитированием
  #660 (permalink)  
Старый 10.10.2014, 13:56
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от l-liava-l
Использование кучи циклов в одной функции не айс, это плохо
от них не всегда можно избавиться
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Превращение слов через запятую в ссылки Майрбек Элементы интерфейса 5 04.10.2014 10:45
Не работают ссылки после возвращения ajax tenebrosus jQuery 22 20.06.2014 12:39
Как добавить класс к нужному элементу при наведении на определеные ссылки? crazygangster77 Events/DOM/Window 3 05.06.2013 02:19
Ссылки внутри другой ссылки Madgeniy Events/DOM/Window 4 11.08.2012 14:58
ссылки получали стиль "visited" только на время сессии alexandr_poskrobka Серверные языки и технологии 7 10.03.2010 08:48