[英]Python: How to deprecate a function alias
正如标题所述,我想要实现的是:我有一个 python 代码库,我想将所有函数从 camelCasing 重命名为 underscore_naming。 为了保持向后兼容性,我重命名了所有函数,但为所有旧名称创建了 function 别名。 到目前为止,一切都很好。
现在我要做的是向 function 别名添加弃用警告,最好采用如下方式:
def do_something():
...
@deprecated(deprecated_in='2.0',
details='All functions have been adapted to fit the PEP8 standard. Please use "do_something" instead')
doSomething = do_something
因此,如果有人使用旧的 API 调用,他们将收到弃用警告。 我已经查看了deprecation和Deprecated ,但它们似乎都不适用于别名。
我意识到我可以为每个不推荐使用的名称创建一个 function 定义并对其进行装饰,但这会失去 function 别名的优雅,并且会产生更多肮脏的代码。 有没有人有一个很好的建议来实现我想要的?
实际上,我最终选择了一个不同的解决方案,类似于Method and property aliases with custom docstring in Python 中的建议。
我将代码修改为
@alias('doSomething', deprecated=True)
def do_something():
...
并向别名装饰器添加了弃用警告。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.