title: Renaming of functions with preservation of backward compatibility
body: <p>I refactor my old code and want to change the names of functions in accordance with pep8. But I want to maintain backward compatibility with old parts of system (a complete refactoring of the project is impossible because function names is a part of the API and some users use the old client code).</p>
  
  <p>Simple example, old code:</p>
  
  <pre><code>def helloFunc(name):
      print 'hello %s' % name
  </code></pre>
  
  <p>New:</p>
  
  <pre><code>def hello_func(name):
      print 'hello %s' % name
  </code></pre>
  
  <p>But both functions should work:</p>
  
  <pre><code>&gt;&gt;hello_func('Alex')
  &gt;&gt;'hello Alex'
  &gt;&gt;helloFunc('Alf')
  &gt;&gt;'hello Alf'
  </code></pre>
  
  <p>I'm thinking about:</p>
  
  <pre><code>def helloFunc(name):
      hello_func(name)
  </code></pre>
  
  <p>, but I do not like it (in project about 50 functions, and it will look a messy, I think).</p>
  
  <p>What is the best way to do it(excluding duplication ofcource)? Is it possible the creation of a some universal decorator?</p>
  
  <p>Thanks.</p>