функция
def f(x):
с = some()
function(c)
но есть нюанс Эту функцию some вызывают еще раз в мейне. И выходит мы два раза вызываем одно и то же, что пгнимжает производительность
def main():
f(x)
r = some()
func(r)….
с таким же успехои можно запихнкть весь код функции f в мейн, и сделать так, чтоб значниие some() считалось лишь раз ,но тогда у нас функция будет загроможденная, что с этим можно сделать?
1. заменить функцию на объект, заюзать везде Dependency Injection 2. в объекте сделать кэширование. Или вокруг него декоратором (паттер, а не как Денис сказал)
Ну тот случай когда не особо понятно почему функция f эту функцию some не принимает в аргументах - тогда имхо было бы сильно проще)
а как заменить если это все методы класса
потому что эта функуия вообще не зависит от нее, это внутрення логика, парамеетризация будет лишняя
Не зависит, но вызывает!)
у тебя есть dependency injection?
оно зависит от датакласса ,что мы передаем и аргумент что мы передаем в яункцию сам тоже в этом датаклассе
модное слово которое никто не понимает
дмитрий не изменяет традициям
Никто — включая твоего тимлида, или у него есть представление?
Ну там бы был какой нибудь особоый диай на ямлах...
не знаю, может он знает
настолько всё плохо?
я читал так и не смог понять, что-то сложная вещь
https://itnext.io/dependency-injection-in-python-a1e56ab8bdd0 - почитай ДО раздела Implementing Dependency Injection in Python (далльше начинается херня)
https://t.me/ru_python_beginners/2614103
Обсуждают сегодня