Size: a a a

Node.js — русскоговорящее сообщество

2021 March 20

M

Michael in Node.js — русскоговорящее сообщество
источник

M

Michael in Node.js — русскоговорящее сообщество
Andy Cox
вообщем, резюмирую, ваш день потрачен не зря только потому, что научились чему-то новому. но тулу, которую вы воскресили за зря лучше переписать с нуля
надо будет js-ников найти кто осилит )
источник

AC

Andy Cox in Node.js — русскоговорящее сообщество
да вы некромант 🧙‍♂️
источник

N

Nikita in Node.js — русскоговорящее сообщество
Downlode it!
источник

A

Artem in Node.js — русскоговорящее сообщество
Парни хелп, нет интерпретатора под рукой что вернет
String(undefined)?
источник

AK

Anton Karmanov in Node.js — русскоговорящее сообщество
Artem
Парни хелп, нет интерпретатора под рукой что вернет
String(undefined)?
источник

A

Artem in Node.js — русскоговорящее сообщество
thx
источник

N

Nikita in Node.js — русскоговорящее сообщество
Товарищи, подскажите как быть еще с ситуацией. Вот часто бывает что работает себе приложение и ок, и тут врывается отдел продаж и говорит - "у нас тут клиент на трубе висит, говорит купит весь наш софт по максимальной подписке только надо немного подкрутить ему, а именно сделать так что когда у него в магазине заказывают колу до 8 вечера в течении осени и если его клиент до этого хотя бы раз заказал эту же кока колу то давать скидку 20%". Ну ты не можешь отказать, ведь дополнительные клиент и Х долларов дохода всех только обрадуют, и ты по быстренькому делаешь грязное дело, а именно пишешь условие где то в коде if (client.id == <айди клиента который попросил эту акцию>) {
 ...код логики...
}  

Последствия всего этого я думаю очевидны. Вопрос, что с этим делать и можно ли такое как то юнит тестить что ли? Может как то выносить в модуль или как?
источник

N

Nikita in Node.js — русскоговорящее сообщество
понятно что если такие запросы есть, то нужно сделать модуль акций который позволит это централизованно настроить
источник

N

Nikita in Node.js — русскоговорящее сообщество
но речь не об этом, запрос может быть в стиле "здесь текст такой должен быть"
источник

N

Nikita in Node.js — русскоговорящее сообщество
или "здесь нам нужно фильтр этой категории сделать"
источник

N

Nikita in Node.js — русскоговорящее сообщество
такие что предугадать и сделать для этого "конструктор" нельзя
источник

N

Nikita in Node.js — русскоговорящее сообщество
(p..s это SaaS продукт, не под конкретного заказчика)
источник

AP

Arnold Pataki in Node.js — русскоговорящее сообщество
Nikita
Товарищи, подскажите как быть еще с ситуацией. Вот часто бывает что работает себе приложение и ок, и тут врывается отдел продаж и говорит - "у нас тут клиент на трубе висит, говорит купит весь наш софт по максимальной подписке только надо немного подкрутить ему, а именно сделать так что когда у него в магазине заказывают колу до 8 вечера в течении осени и если его клиент до этого хотя бы раз заказал эту же кока колу то давать скидку 20%". Ну ты не можешь отказать, ведь дополнительные клиент и Х долларов дохода всех только обрадуют, и ты по быстренькому делаешь грязное дело, а именно пишешь условие где то в коде if (client.id == <айди клиента который попросил эту акцию>) {
 ...код логики...
}  

Последствия всего этого я думаю очевидны. Вопрос, что с этим делать и можно ли такое как то юнит тестить что ли? Может как то выносить в модуль или как?
эту логику можно вынести, используя паттерн стратегия
источник

N

Nikita in Node.js — русскоговорящее сообщество
Arnold Pataki
эту логику можно вынести, используя паттерн стратегия
выше описал почему не всегда выходит паттерн применить
источник

A

Artem in Node.js — русскоговорящее сообщество
там нужно посмотреть на логику как архитектурно реализованно. У меня подобные ситуации бывали, решал с помощью дополнительного интерсептора (мидлваря) перед запросом. И этот мидлварь юнитом спокойно тестиься.
источник

A

Artem in Node.js — русскоговорящее сообщество
Архитектурно была возможность в запросе преобразовать параметры таким образом, что цена станет меньше и т.п
источник

N

Nikita in Node.js — русскоговорящее сообщество
Artem
там нужно посмотреть на логику как архитектурно реализованно. У меня подобные ситуации бывали, решал с помощью дополнительного интерсептора (мидлваря) перед запросом. И этот мидлварь юнитом спокойно тестиься.
так а если изменение касается бизнес логики в домене? разве сможете интерсептором это поменять
источник

A

Artem in Node.js — русскоговорящее сообщество
Nikita
так а если изменение касается бизнес логики в домене? разве сможете интерсептором это поменять
вот, тут уже поинтереснее
источник

N

Nikita in Node.js — русскоговорящее сообщество
вот в этом проблема, что получается что по ядру приложения разкиданы вот такие условия
источник