Size: a a a

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

2020 March 30

ДБ

Дмитрий Беляев in JavaScript — русскоговорящее сообщество
Dmitry Petrik
А потом тебя проклянут все кто будут поддерживать твой код после тебя)
нормальный ФП код как правило поддерживается лучше чем императивная лапша
источник

ДБ

Дмитрий Беляев in JavaScript — русскоговорящее сообщество
Chadwick ☭
хотя она 2018... за два года много чего сменилось...
ну основы освоить можно, дальше доки хватит
источник

C☭

Chadwick ☭ in JavaScript — русскоговорящее сообщество
Дмитрий Беляев
смотри, банальный пример покажу из своего реального кода
вот вроде бы тривиальная задача: выполнять некий код строго после DOMContentLoaded
но ведь если оно уже было, то подписываться на него бесполезно
императивно был бы мрак из if

сори за ts - но вот мой обычный снипет:
import {curry, pipe, propOr, either, identical} from 'ramda';
import {selfCall} from '@/lib/functions';
export const subscribe = curry((target: EventTarget, eventName: string, handler: EventListenerOrEventListenerObject) => {
   target.addEventListener(eventName, handler);
   return () => target.removeEventListener(eventName, handler);
});

const isDocumentReady = pipe(
   propOr<string>('', 'readyState'),
   either(
       identical('complete'),
       identical('interactive')
   )
);
export function domReady(doc: Document = document): Promise<void> {
   return (isDocumentReady(doc)
       ? Promise.resolve()
       : new Promise((resolve): void => selfCall(solve => [
           subscribe(doc, 'DOMContentLoaded', solve),
           subscribe(doc.defaultView!, 'load', solve),
           resolve
       ]))
   );
}

вставил, и теперь просто пишу
domReady().then(() => ...
👍
источник

ДБ

Дмитрий Беляев in JavaScript — русскоговорящее сообщество
гдет был аналог из jQuery делающий по сути то же самое, но императивно... там реально черт ногу сломит
источник

DP

Dmitry Petrik in JavaScript — русскоговорящее сообщество
Дмитрий Беляев
нормальный ФП код как правило поддерживается лучше чем императивная лапша
Да, слышал такое. Боюсь только в проектах с небольшими командами это может вылиться в ад. Как минимум в поиске кадров. Обязательное понимание ФП отсеит большую часть разработчиков на корню
источник

DP

Dmitry Petrik in JavaScript — русскоговорящее сообщество
Chadwick ☭
не понравился прямой пуш в дев ветку в гите ))
Это ты жестко)
источник

DP

Dmitry Petrik in JavaScript — русскоговорящее сообщество
Ну хоть не в мастер)
источник

C☭

Chadwick ☭ in JavaScript — русскоговорящее сообщество
Dmitry Petrik
Это ты жестко)
ибо нефиг забивать на кодревью и аппрув/кнопку )
источник

V

Vlad in JavaScript — русскоговорящее сообщество
Дмитрий Беляев
вот в этой книжке ramda очень хорошо расписана, хотя и lodash хватает
источник

C☭

Chadwick ☭ in JavaScript — русскоговорящее сообщество
Дмитрий Беляев
гдет был аналог из jQuery делающий по сути то же самое, но императивно... там реально черт ногу сломит
лапша)))
источник

C☭

Chadwick ☭ in JavaScript — русскоговорящее сообщество
😂👍
источник

V

Vlad in JavaScript — русскоговорящее сообщество
))
источник

ДБ

Дмитрий Беляев in JavaScript — русскоговорящее сообщество
Dmitry Petrik
Да, слышал такое. Боюсь только в проектах с небольшими командами это может вылиться в ад. Как минимум в поиске кадров. Обязательное понимание ФП отсеит большую часть разработчиков на корню
ну мне с этим проще, я в своей конторе менторю... и тех интервью по js/ts тоже я провожу
можно найти людей с задатками, и до обучить
хотя учитывая, что на тот же purescript днем с огнем никого не найдешь - показатель
источник

DP

Dmitry Petrik in JavaScript — русскоговорящее сообщество
Дмитрий Беляев
ну мне с этим проще, я в своей конторе менторю... и тех интервью по js/ts тоже я провожу
можно найти людей с задатками, и до обучить
хотя учитывая, что на тот же purescript днем с огнем никого не найдешь - показатель
Если есть ментор это уже проще
источник

C☭

Chadwick ☭ in JavaScript — русскоговорящее сообщество
Dmitry Petrik
Да, слышал такое. Боюсь только в проектах с небольшими командами это может вылиться в ад. Как минимум в поиске кадров. Обязательное понимание ФП отсеит большую часть разработчиков на корню
на данный момент программисты сами себя отсеивают если им чтото не нравится.. компания всегда готова обучить человека. только если он этого сам захочет
источник

V

Vlad in JavaScript — русскоговорящее сообщество
Дмитрий Беляев
смотри, банальный пример покажу из своего реального кода
вот вроде бы тривиальная задача: выполнять некий код строго после DOMContentLoaded
но ведь если оно уже было, то подписываться на него бесполезно
императивно был бы мрак из if

сори за ts - но вот мой обычный снипет:
import {curry, pipe, propOr, either, identical} from 'ramda';
import {selfCall} from '@/lib/functions';
export const subscribe = curry((target: EventTarget, eventName: string, handler: EventListenerOrEventListenerObject) => {
   target.addEventListener(eventName, handler);
   return () => target.removeEventListener(eventName, handler);
});

const isDocumentReady = pipe(
   propOr<string>('', 'readyState'),
   either(
       identical('complete'),
       identical('interactive')
   )
);
export function domReady(doc: Document = document): Promise<void> {
   return (isDocumentReady(doc)
       ? Promise.resolve()
       : new Promise((resolve): void => selfCall(solve => [
           subscribe(doc, 'DOMContentLoaded', solve),
           subscribe(doc.defaultView!, 'load', solve),
           resolve
       ]))
   );
}

вставил, и теперь просто пишу
domReady().then(() => ...
Я теперь понял почему я не понимаю rxjs
источник

V

Vlad in JavaScript — русскоговорящее сообщество
Это функциональщина
источник

C☭

Chadwick ☭ in JavaScript — русскоговорящее сообщество
Vlad
Я теперь понял почему я не понимаю rxjs
рэкс то чем не угодил?
источник

C☭

Chadwick ☭ in JavaScript — русскоговорящее сообщество
после последнего большого апа стало намного лучше и проще)
источник

V

Vlad in JavaScript — русскоговорящее сообщество
Chadwick ☭
рэкс то чем не угодил?
Не понимаю зачем он нужен
Но я особо и не углублялся
источник