我重構了我的舊代碼,並希望根據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