170 похожих чатов

Есть сомнения. Когда передавать ф-ции через аргументы, а когда просто

заимпортить и использовать в любом месте?
Сам предполагаю, что чистую ф-цию можно импортить без проблем. А вот сайд ефект ф-ции лучше передавать через аргументы, чтобы потом подменить в тестах.

20 ответов

4 просмотра

да вроде логично звучит

Vlad-Petrov Автор вопроса

Типа вот такого имелось ввиду ts pg

да, я понимаю идею

Vlad-Petrov Автор вопроса

Тоесть ты согласен, что сайд эфект ф-ции лучше передавать через аргументы. А чистые можно импортить. Правильно?

подход вроде и норм. но вдруг будут какие-то минусы у него? ну, длинный список переменных? можно тогда передавать объект dependencies

Vlad-Petrov Автор вопроса

длинный список зависимостей говорит о неправильном разделении.

кстати, при помощи nock эта функция и без моков легко тестируется

Vlad-Petrov Автор вопроса

Подход с моком импортом мне кажется каким то неестественным и неправильным. Вот и хотел спросить в более опытных в этом.

Vlad-Petrov Автор вопроса

Та, что с аргументом или импортом?

я про bankRates(). nock мокает сетевые запросы

я сам почти никогда не мокаю импорты и стараюсь передавать зависимости в параметры функции или конструктора. но мне тоже хотелось бы услышать разные мнения

Vlad-Petrov Автор вопроса

Я бы вообще не смотрел бы в этом направлении. Зачем фейкать сеть. Если можно просто фейкнуть контракт Currency => Promise<number>

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

Vlad-Petrov Автор вопроса

Я считаю, что мокать fetch - запашок. Это сильно низкоуровневая деталь. Лучше подменять контракт высокого уровня

да, в общем случае ты прав

Vlad-Petrov Автор вопроса

Я вот хз как такое люди пишут без тс?.. Это же боль.

А если люди которые кодят всей командой на одном сервере по ссш в виме пхп

Vlad-Petrov Автор вопроса

Пхп.. Какие то предрассудки. Пхп далеко ушел. Есть прекрасные тулы аля symfony(не уверен, что на ноде есть хоть что то подобное) и psalm(stat analysis). А говнокодить везде можно.

я просто реальную историю одного из клиентов из индии рассказал)

Vlad-Petrov Автор вопроса

Да, это просто крайность. Но в конторах нашего региона часто не бывает: тестов, типизации, ci, cd, контейнеризации и т.д. А это всё тоже боль.

Похожие вопросы

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Всем привет! Массив вводится с клавиатуры, кол-во элементов неизвестно, поэтому я указал arr db 100 dup(?) С нахождением максимума проблем нет, а вот минимум почему-то всегд...
En Vind Av Sorg
11
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
Кто создает тут ботов для телеграмм групп ?
Antskup
8
а как бы вылезти из ИО, что то типа IO -> Ether или в какую сторону смотреть ? что то туплю
Fedor
14
Я хочу запустить свой проект в тг. Что-то между пирамидой и майнилкой. Еще подобного ничего не было. Уникальная идея. Нужен именно не бот, а приложение. С ввод, выводом тон...
Павел А.
6
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
How to create an OS in C? what to study?
Linus
18
Карта сайта