@js_ru
JavaScript — русскоговорящее сообщество

Рекомендуем сразу отключить уведомления Правила: http://bit.ly/our_etiquette См. также: @nodejs_ru, @typescript_ru, @react_js, @electron_ru Вакансии и поиск работы: @javascript_jobs

3006 members

Архив канала @js_ru 29 апреля 2017 г.

12:45:55 ДП
User 32530886
User 626100
Между делом пробегая мимо, не соглашусь с твитом, процитированном в канале после анонса статьи на медиуме.
(https://twitter.com/housecor/status/857973559431491586)
(Я, правда, не веб-разраб.)
Имхо обрабочики событий как раз и должны называться именно так, чтобы было ясно в ответ на что была дёрнута эта функция.
НО. В теле этого метода (хендлера) не должна содержаться какая-либо логика, относящаяся не к этому событию.
В вырожденном случае (который чаще всего и бывает) там должен быть вызов метода, имя которого уже как раз и говорит нам о том, что он делает.
Потому что вызов хнедлеров НЕ из недр какого-либо дипетчера события, а напрямую — действительно фу. 
То есть, хендлер надо называть так, чтобы было понятно, ПОЧЕМУ он был вызван, а внутри него должны быть методы с названиями, говорящими о том ЧТО они делают.
+++
06:34:49 ДП
User 38165071
User 626100
Вместо этого можно написать нормально <button onClick={this.saveOrUpdate} /> как я обычно делаю
А я делаю по-разному. В зависимости от случая и настроения. Но однотипно по проекту.
06:38:47 ДП
User 38165071
И считаю подобные "проблемы" выдуманными. Подворачивать штаны можно в любую сторону, но лучше одинаково на обеих ногах
06:54:12 ДП
User 38165071
Хотя и по проекту можно варьировать. Главное, чтоб удобнее и понятнее было 😬
07:15:54 ДП
User 169254659
User 626100
Вместо этого можно написать нормально <button onClick={this.saveOrUpdate} /> как я обычно делаю
Это так себе вариант как минимум по двум причинам: 
1. Смешивание UI логики и бизнес логики.
2. this.saveOrUpdate принимает объект события, что тоже странно. Обычно, обработчик события подготавливает данные для вызова нужного метода.
11:39:50 ДП
User 174567321
Че откопал
11:39:52 ДП
User 174567321
https://habrahabr.ru/company/mailru/blog/282027/
habrahabr.ru/company/mailru/blog/282027
Бывало ли у вас так, что хотелось использовать какую-нибудь фичу из стандарта CSS, но вы этого не делали, потому что она поддерживается не всеми браузерами?...
01:10:31 ПП
User 152238190
кто посоветует
01:10:54 ПП
User 152238190
выбрать каррирование для селекта по криетриям или передавать объект критериев
01:11:13 ПП
User 152238190
в идеале конечно вижу что-то типа
01:11:41 ПП
User 152238190
select({prop1: 1, prop2:2}) == select({prop1:1})({prop2:2})
01:11:47 ПП
User 152238190
вероятно есть какой-то паттерн
02:52:51 ПП
User 28767706
как второй вариант работать может?
02:53:20 ПП
User 28767706
у тебя ж арность функции непонятно какая, кол-во ключей любое может быть, как я понимаю
07:31:10 ПП
User 295368386
Кто winston юзает? Как ему изменить цвета в hex?
09:14:51 ПП
09:18:26 ПП
User 133277047
Парни, привет. Я тут не так давно в js, начинаю пилить свой проектик и вот посмотрел я на async/await, внешне все прекрасно. Но какие подводные камни есть? ну кроме того что полифил добавляет 60кб к бандлу. Единственная возможность перехватить ошибку это try/catch, но я слышал что движое не оптимизирует код в блоке try/catch.
09:26:25 ПП
User 38165071
Если действительно с трай кэчем чото не так, можно ошибки обрабатывать в самих промисах, а не снаружи
09:26:44 ПП
User 76662447
И нафига тогда try catch)
09:27:21 ПП
User 76662447
Короче, до того, чтобы упереться в производтельность try catch ещё дойти надо
09:27:40 ПП
User 76662447
И пока ты до этого дойдёшь, их уже оптимизируют
09:29:58 ПП
User 38165071
Надо будет почитать или тест скорости написать 😬
09:30:21 ПП
User 133277047
ну я только то что читнул, какие еще есть подводные камни?