我重构了我的旧代码,并希望根据pep8更改函数的名称。但是我希望保持与系统旧部分的向后兼容性(由于函数名称是API的一部分,并且一些用户使用旧的客户端代码,因此完全重构项目是不可能的)。重命名保留向后兼容性的功能
简单的例子,旧代码:
def helloFunc(name):
print 'hello %s' % name
新:
def hello_func(name):
print 'hello %s' % name
但两者的功能应该工作:
>>hello_func('Alex')
>>'hello Alex'
>>helloFunc('Alf')
>>'hello Alf'
我在想:
def helloFunc(name):
hello_func(name)
,但我不喜欢它(在项目中大约有50个函数,它会看起来很乱,我认为)。
这样做的最佳方式是什么(不包括重复的资源)?是否有可能创建一个普遍的装饰器?
谢谢。
哦,我怎么能忘记它!谢谢! – vlad 2012-08-16 12:36:50
@vlad - 我已经添加了一个函数,我认为它会自动从模块modinput中将'function_with_underscores'添加到'modadd'中作为'functionWithUnderscores'(但它不会真的与'lambda'函数一起工作,因为它们没有可视名称(AFAIK) – mgilson 2012-08-16 12:42:36