Size: a a a

JavaScript fwdays

2020 May 24

IL

Ihor Levchenko in JavaScript fwdays
Двуякая штука
источник

V

V in JavaScript fwdays
Ihor Levchenko
А то на каждый инжект надо явно указывать что инжектишь
Ставлю на то, что теги тоже не используешь)
источник

IL

Ihor Levchenko in JavaScript fwdays
V
Ставлю на то, что теги тоже не используешь)
Использую только для логгера )
источник

IL

Ihor Levchenko in JavaScript fwdays
У меня есть модуль логирования
источник

IL

Ihor Levchenko in JavaScript fwdays
И я там тегом @named указываю просто кастомный лейбл
источник

V

V in JavaScript fwdays
А сам код полностью классами пишешь?
источник

V

V in JavaScript fwdays
У меня к ним какая-то сакральная тяга, но я по-прежнему не уверен, что это обосновано и нормально
источник

IL

Ihor Levchenko in JavaScript fwdays
да, у меня на 95% код состоит из классов
источник

IL

Ihor Levchenko in JavaScript fwdays
я тоже.. пробовал и так и так.
Пробовал писать без ООП, но получается сложнее в итоге
может у меня мозги заточены на классы, или это влияние литературы которую читал.. не знаю.
Но мне классами гораздо легче оперирвать, оркестровать, выделять явно сущности, группировать все по функциональности и выделять в подключаемые модули
источник

IL

Ihor Levchenko in JavaScript fwdays
исключением являются какие-то общие хелперы.. которые общие на весь проект и я готов пойти на такое “связывание” чтобы облегчить жизнь))
вроде там когда у меня есть общие типы сквозь весь проект и у меня есть какие-то операции просчетов над этими типами которые тоже общие для всего.. я просто выношу в общую либу как чистые функции без сайд эффектов.
которые скушали, посчитали и выбросили
источник

IL

Ihor Levchenko in JavaScript fwdays
но, признаться, оно мне гложит глаз ))
источник

V

V in JavaScript fwdays
Ihor Levchenko
но, признаться, оно мне гложит глаз ))
У меня в голове идея засела такого рода: писать все классы независимыми, но чтобы они имели интерфейс получения / создания ивентов и могли на них асинхронно отвечать. Абстракция на высшем уровне, но насколько это будет удобно на практике я пока не проверял
источник

V

V in JavaScript fwdays
Ну и на проект один инстанс ивент эмиттера под все классы
источник

V

V in JavaScript fwdays
Господа, дайте фидбэк, пожалуйста. Интересно, не пробовал ли уже кто-то так организовывать код и какие подводные камни могут поджидать на этом пути
источник

V

V in JavaScript fwdays
источник

IL

Ihor Levchenko in JavaScript fwdays
V
У меня в голове идея засела такого рода: писать все классы независимыми, но чтобы они имели интерфейс получения / создания ивентов и могли на них асинхронно отвечать. Абстракция на высшем уровне, но насколько это будет удобно на практике я пока не проверял
Я так делал.
Один довольно большой и сложный проект так написан.

В общем то все хорошо, но есть нюансы - очень сильно жирная точка входа в приложение .. там где очень много подписок на соответствующие ивенты и форвардинг этих команд в соответствующие методы

Оно вроде норм, но дебажить и адекватно тестировать это почти нереально, тесты становятся сложные.. ты делаешь подписки, проверяешь были ли такие то события брошены... В общем в моем случае это была не очень идея.

Связанность это неплохо, это даже удобно.
источник

V

V in JavaScript fwdays
Ihor Levchenko
Я так делал.
Один довольно большой и сложный проект так написан.

В общем то все хорошо, но есть нюансы - очень сильно жирная точка входа в приложение .. там где очень много подписок на соответствующие ивенты и форвардинг этих команд в соответствующие методы

Оно вроде норм, но дебажить и адекватно тестировать это почти нереально, тесты становятся сложные.. ты делаешь подписки, проверяешь были ли такие то события брошены... В общем в моем случае это была не очень идея.

Связанность это неплохо, это даже удобно.
Хм-м, а если мокать ивенты?
источник

V

V in JavaScript fwdays
Логировать все ивенты через точку входа для дебага
источник

R

Rostislav in JavaScript fwdays
V
У меня в голове идея засела такого рода: писать все классы независимыми, но чтобы они имели интерфейс получения / создания ивентов и могли на них асинхронно отвечать. Абстракция на высшем уровне, но насколько это будет удобно на практике я пока не проверял
Очень на абстракцию актеров похоже
источник

V

V in JavaScript fwdays
Rostislav
Очень на абстракцию актеров похоже
Интересно, подскажи, пожалуйста, где можно узнать больше об этом
источник