Я написал пакет Python, который делает частые косвенные вызовы функции низкого уровня low_level_a(arg)
.Под косвенным я подразумеваю то, что функция часто скрыта за несколькими уровнями функций и классов более высокого уровня.
Теперь я хочу реализовать альтернативную версию функции, low_level_b(arg)
, которая принимает то же самоевид аргументов и возвращает те же виды результатов.Моя цель - позволить пользователю переключаться между использованием low_level_a(arg)
и low_level_b(arg)
при вызове функций самого высокого уровня.
Моя первая идея - написать необязательный аргумент для функции низкого уровня для переключения между версиями:low_level(arg, option='a')
.Однако, насколько я могу судить, это заставляет меня добавлять необязательный аргумент option='a'
к каждой промежуточной функции, что потенциально приводит к вызову low_level
.
Мой инстинкт говорит, что это запутало бы промежуточные функции,особенно если в будущем я захочу продолжать добавлять такие необязательные аргументы.
Что является понятным и масштабируемым способом предоставления пользователю возможности выбирать различные версии параметров low_level?