Рассмотрим следующий код:
def localize(value, localize=None):
# do something with the localize argument
Переменная localize
содержит информацию о том, следует ли соблюдать глобальную настройку локализации или нет. Он вызывается одним и тем же именем через три слоя кода. Что меньшее зло,
- тень имени функции с именем аргумента или
- использовать в этой функции другое имя, нежели во всей остальной части кода, несмотря на то, что они имеют абсолютно одинаковое значение?
Функция localize
не использует рекурсию, поэтому невозможность вызова сама по себе не является проблемой.
/ edit: об изменении имени функции не может быть и речи, так как это общедоступный API. Единственная комната для маневра в имени аргумента.