Anonymous
Dmitry
я не совсем об этом, просто зачем эта функция, могу понять что происходит, но не могу понять зачем
Vlad
Malik
Как понять, что ты реальный PRO в js и достоен быть в этом чате?
Anonymous
Ну, типа, например, create-middleware.js вместо createMiddleware.js
Я один раз решил так сделать, но пожалел об этом. Да, читается лучше, но при едином названии сущностей и их файлов код пишется быстрее. Мне удобнее — чаще использую копипасту имён, меньше шанс опечатки, просто практично. Профит так же и в быстром поиске по файлам.
Anonymous
Хотя теперь флоу с связке с атомом даёт просто волшебное автодополнение.
Nikolay
У копипасты есть и обратная сторона. Проще распространить ошибку :)
Anonymous
Это да. =)
Anonymous
Я один раз опечатку в имени сразу в 4 файла засунул.
Nikolay
И еще, как по мне, модули, onAnonDefault.js, и прочие on... не отражают своей сути.
Anonymous
Ну и ещё регистр начального символа названия тоже имеет значение. Либо там какой-нить метод, либо класс/модель.
Nikolay
Именно поэтому, кстати, не рекомендуется называть хендлеры в формате on<SomethingHappened>
Anonymous
Anonymous
Nikolay
Почему?
Ну смотри, синтетический пример. Допустим у тебя есть кнопка и ты хочешь что-то сделать по ее нажатию (скажем, перерендерить страницу). Ты выносишь обработчик в отдельную функцию/метод.
И теперь сравни, что интуитивно понятнее:
button.on('click', this._onButtonClick);
или
button.on('click', this._reRender);
Nikolay
Хотя, это идеальный мир, в реальности часто сложно подобрать правильное имя для обработчика, откуда и вылезают все эти onClick и onServerStarted
Anonymous
Anonymous
Например, если у меня эта кнопка будет внутри компонента, то конкретно ей я передам "онклик". А компоненту я передам уже "он[что-нибудь]".
Anonymous
Ну, вообще, я долго думал, как их назвать. =))
Anonymous
Как бы ты назвал?
Nikolay
Я, увы, не вчитывался в код, по работе дергают. Позже гляну, нужно суть уловить, прежде чем придумывать имена :)
Nikolay
Как flow, кстати, в целом? Стоит того, чтоб внедрять в проект?
Anonymous
Как flow, кстати, в целом? Стоит того, чтоб внедрять в проект?
С ним было много гемора на начальном этапе. Сначала было не очень понятно, как соотносить некоторые типы. Плясал с бубном, заваливал вопросами коллег. Но профит реально того стоит. Чтобы было понятно, во всех файлах coverage 100%, хотя ты видишь, что далеко не все переменные аннотированы. Флоу додумывет сам, проходясь по стеку вызовов. В атоме линтер, который подчёркивает те сущности, тип которых он не может рассчитать, и на основе имеющихся данных есть автодополнение. TernJS и рядом не лежал. Короче, я очень доволен.
Anonymous
Ну и на прекоммите теперь не только тесты, но и тайпчекинг.
Konstantin
http://www.zsoltnagy.eu/es6-iterators-and-generators-6-exercises-and-solutions/
Alexander
Nikolay
Nikolay
Другой, конечно, ведь она же делает "нечто иное" :)
Дима
Есть два обработчика, какой дублируешь, какой в качестве onButtonClick передашь?
Дима
Кто нибудь юзал асинхронные генераторы?
Дима
Кажется, текущую реализацию в бабеле ставит в тупик yield* другого асинронного генератора(
Дима
Я чот не ожидал такой подлянки, пол ночи переписывал один большой асинхронный генератор на несколько маленьких, а он мне в конце такой iterable[Symbol.iterator] is not a function
Дима
Ясен фиг не function, там же Symbol.asyncIterator должен быть 😒
Дима
Говно и костыли
Дима
Извините
Azein
я немного юзал в виде саг, не сталкивался с такой проблемой
Дима
Дима
Просто я смотрю regenerator справляется с этой проблемой, но ругается на ForOf в синтаксисе (которого, естественно, там нет, а всё остальное в бабеле с проблемой не справляется 😑
Дима
Короче пофигу, уже переписал обратно 😒
Dreamerinnoise
Ну да, там, раз ты его юзаешь :3
Дима
У меня просто стойкое ощущение, что я делаю что-то не так, потому что во всяких repl фейсбука и бабеля всё воспроизводится, а у меня нет
Дима
В общем поточнее пример выведу и отправлю тогда)
Anonymous
Как привязать coveralls.io к репозиторию, если юзаешь Jest?
меня зовут ЖЕНЯ
🕓 Last Played Games
Oleksandr
Всем привет, как такую клевую штуку сократить?
if (index >= 1 && index <= 8) {
position = 1;
} else if (index > 8 && index <= 11) {
position = 8;
} else if (index > 11 && index <= 14) {
position = 11;
} else if (index === 15) {
position = 14;
}
Туся
switch
Костя
switch
нихрена не сократишь
Костя
Костя
только в первом ифе
Oleksandr
ага
Alexandr
и тогда свитч сократит
Костя
а логики никакой не прослеживается?
Костя
связи между индексом и позицией
Oleksandr
типа того?
if (index > 0 && index < 9) {
position = 1;
} else if (index < 12) {
position = 8;
} else if (index < 15) {
position = 11;
} else {
position = 14;
}
Костя
<= мог оставить
Костя
а это
Костя
что за ЯП?
Костя
JS?
Oleksandr
Да, js
Oleksandr
А через свитч разве можно делать проверку на больше/меньше?
Костя
ну я бы функцию написал "between"
Костя
Костя
только так
Костя
http://stackoverflow.com/questions/5619832/switch-on-ranges-of-integers-in-javascript
Дима
Костя
но ничего не выйграешь
Костя
Дима
Только проще в данном случае не выйдет
Sheldhur
ну... ещё можно значения прверки и поззиции в Map захерачить, и циклом ебануть
Дима
Почти, в reduce надо
Sheldhur
индекса и позиции*
Костя
да напиши функцию between(min, max, n)
Костя
и фигачь так же черезе if else
Oleksandr
Костя
но лучше бы, чтобы между индексом и позицией была связь
Костя
тогда формулу написал и усё
Sheldhur
имхо мапа индекс-позиция будет лучше