Этот вопрос является агностиком языка программирования, но IMO это важный.Лучше обрабатывать создание объекта внутри функции или добавить его в список параметров
Как известно, написание многоразового кода представляет собой сочетание науки и искусства, а также его важнейшее умение, которое любой разработчик должен иметь для написания отличного кода.
Предположим, у меня есть класс, который включает в себя несколько функций:
class Example
def func1()
creates objectA
...
...
def func2()
creates objectB
...
...
def func3()
creates objectA
...
...
def func4()
creates objectC
...
...
В приведенном выше случае, это лучше:
А. создать объект А внутри функций 1 и 3, так что когда-то другое разработчики используют функции 1 или 3, они не должны пытаться найти, как отправить этот объект в качестве аргумента (какой конструктор использовать для его создания и т. д.).
В общем, чем больше параметров функции, тем больше усилий разработчик должен поставить для того, чтобы начать использовать его ...
ИЛИ
B. Что лучше поставить объект А, как требуемый параметр в функциях 1 и 3, поэтому, как только разработчик захочет использовать эти функции, ему/ей придется создать объект A вне функции, а затем отправить его в качестве аргумента функции?
Если я написал программу, которая использует func1 и func3, то обе функции будут повторять создание объекта дважды (плохая производительность).
Кто победит в этом вопросе об использовании многоразового использования?
Спасибо,
Qwerty
Не заботьтесь о скорости, написать хороший читаемый, в сопровождении кода. Это всегда верно, пока вы не столкнетесь с проблемами производительности и не определили сам код, который является узким местом. Но во многих случаях компилятор будет так оптимизировать, что ваши оптимизации вручную, вероятно, принесут больше вреда. – usr1234567