Недавно я провел рефакторинг своего кода, чтобы поместить методы проверки ввода, общие для нескольких классов, в их собственный модуль validate.py
. Некоторые из этих методов проверки проверяют, являются ли их входные данные экземпляром класса, например, MyClass
. Поэтому validate.py
должен импортировать MyClass
, чтобы его метод is_MyClass
мог проверить, isinstance(input, MyClass)
. Но я хочу использовать некоторые методы проверки из validate.py
в MyClass
для очистки ввода в MyClass.my_method
, поэтому MyClass
должен импортировать validate.py
.
Что-то подсказывает мне, что я просто небрежно реорганизовал свой путь в анти-шаблон. Если то, что я пытаюсь сделать, подразумевает круговые зависимости, значит, я делаю это неправильно™.
Но повторное использование кода — хорошая идея. Итак, как лучше всего делиться методами проверки таким образом?