Refactorizo mi código anterior y deseo cambiar los nombres de funciones de acuerdo con pep8. Pero quiero mantener la compatibilidad con partes antiguas del sistema (una refacturación completa del proyecto es imposible porque los nombres de las funciones forman parte de la API y algunos usuarios usan el antiguo código de cliente).Renombrado de funciones con preservación de compatibilidad con versiones anteriores
ejemplo simple, código antiguo:
def helloFunc(name):
print 'hello %s' % name
Nuevo:
def hello_func(name):
print 'hello %s' % name
Pero ambas funciones deben trabajar:
>>hello_func('Alex')
>>'hello Alex'
>>helloFunc('Alf')
>>'hello Alf'
Estoy pensando en:
def helloFunc(name):
hello_func(name)
, pero no me gusta (en el proyecto de unas 50 funciones, y se verá un poco complicado, creo).
¿Cuál es la mejor manera de hacerlo (excluyendo la duplicación del recurso)? ¿Es posible la creación de un decorador universal?
Gracias.
Oh, ¿cómo podría olvidarse de él! ¡Gracias! – vlad
@vlad - ¡Tengo una función que creo que va a añadir automáticamente 'function_with_underscores' de módulo' 'modinput' en modadd' como' functionWithUnderscores' (pero no va a trabajar realmente con 'funciones lambda' ya que no tienen nombre inspeccionable (AFAIK) – mgilson