title: Naming conventions for function arguments in python
body: <p>Should the names of function arguments reflect the context of the function in which they are used?
  To give a concrete example in Python, (taken from <a href="http://www.headfirstlabs.com/books/hfpython/" rel="nofollow">this</a> textbook): </p>
  
  <pre><code>def create_radio_button(rb_name, rb_value):
  </code></pre>
  
  <p>vs</p>
  
  <pre><code>def create_radio_button(name, value):
  </code></pre>
  
  <p>The <a href="http://legacy.python.org/dev/peps/pep-0008/#function-and-method-arguments" rel="nofollow">Python style guide</a> suggests using underscores to avoid keyword clashes, but doesn't mention the use of prefixes in arguments. In <a href="http://www.amazon.co.uk/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882" rel="nofollow">Clean Code</a>, Bob Martin suggests choosing variable names that are pronounceable and to avoid encodings, which perhaps counts against an <code>rb_</code> prefix. However, he follows this by stating that variable names should be searchable.  My primary goal is to improve the clarity of my code, so I'm interested to hear what people have found easiest to work with.</p>