Size: a a a

NestJS — русскоязычное сообщество

2020 March 08

GS

Grigorii K. Shartsev in NestJS — русскоязычное сообщество
Andrey Melikhov
да, так.
В таком подходе есть подводные камни?
источник

AM

Andrey Melikhov in NestJS — русскоязычное сообщество
только обычно это выносят и отдают через Symbol.for
источник

GS

Grigorii K. Shartsev in NestJS — русскоязычное сообщество
Илья | 😶
какая разница через Symbol или непосредственно строку ?
сырой строкой - можно опечататься + надо писать руками, нет автодополнения и всего такого.
Строкой константой - гарантия отсутствия коллизии :D (вроде в доке неста так предлагалось, мне не сложно добавить одно слово)
источник

И

Илья | 😶 in NestJS — русскоязычное сообщество
Grigorii K. Shartsev
сырой строкой - можно опечататься + надо писать руками, нет автодополнения и всего такого.
Строкой константой - гарантия отсутствия коллизии :D (вроде в доке неста так предлагалось, мне не сложно добавить одно слово)
в доке как раз есть насчёт этого, типа не писать строку, а через файл с константами тянуть
источник

AM

Andrey Melikhov in NestJS — русскоязычное сообщество
Grigorii K. Shartsev
В таком подходе есть подводные камни?
Да нет, типичный подход для IoC, тот же inversify только так и работает
источник

PS

Poluektov Sergey in NestJS — русскоязычное сообщество
Илья | 😶
какая разница через Symbol или непосредственно строку ?
вот такая разница
источник

GS

Grigorii K. Shartsev in NestJS — русскоязычное сообщество
Andrey Melikhov
только обычно это выносят и отдают через Symbol.for
Ну у меня это в отдельном файле, конечно, по одному на модуль с константами этого модуля, тут рядом для примера написал.
источник

AM

Andrey Melikhov in NestJS — русскоязычное сообщество
тогда лучше Symbol.for
источник

GS

Grigorii K. Shartsev in NestJS — русскоязычное сообщество
Andrey Melikhov
тогда лучше Symbol.for
Почему? В дебагере он нормально пишет в случае чего, для какого символа проблема
источник

AM

Andrey Melikhov in NestJS — русскоязычное сообщество
Чтобы он не создавал новые символы при повторном вызове, у тебя же глобальное пространство символов дял ioC всё равно.
источник

GS

Grigorii K. Shartsev in NestJS — русскоязычное сообщество
Andrey Melikhov
Чтобы он не создавал новые символы при повторном вызове, у тебя же глобальное пространство символов дял ioC всё равно.
А откуда повторный вызов?
источник

GS

Grigorii K. Shartsev in NestJS — русскоязычное сообщество
Засунул символ один раз в константу, и дальше везде использую эту константу...
источник

Ti

Time is the side effect in NestJS — русскоязычное сообщество
Grigorii K. Shartsev
Засунул символ один раз в константу, и дальше везде использую эту константу...
+, тоже так делаю)
источник

Ti

Time is the side effect in NestJS — русскоязычное сообщество
И это вроде более явно, тс же не узнает при Symbol.for существует ли он или нет, а с константой точно существует
источник

GS

Grigorii K. Shartsev in NestJS — русскоязычное сообщество
Andrey Melikhov
Чтобы он не создавал новые символы при повторном вызове, у тебя же глобальное пространство символов дял ioC всё равно.
И это ведь по сути оставляет проблему со скрина выше
источник

Ti

Time is the side effect in NestJS — русскоязычное сообщество
Хотя важнее то что нельзя опечататься, ведь не будешь ручками строку каждый раз писать
источник

Ti

Time is the side effect in NestJS — русскоязычное сообщество
Импортировал константу, заюзал
источник

GS

Grigorii K. Shartsev in NestJS — русскоязычное сообщество
И всегда кликнув по константе можно узнать все места, где она используется)
источник

Ti

Time is the side effect in NestJS — русскоязычное сообщество
Ну с Symbol.for получается что вообще не надо отдельно константу создавать
источник

BK

Bogdan Korenkov in NestJS — русскоязычное сообщество
Andrey Melikhov
Вообще у него весь блог — моё почтение. это Developer Advocate в Apollo
купил его книгу. спасибо что напомнил о нам. он только недавно вроде стал работать в Apollo
источник