title: Is specifying ivar name to @synthesize considered redundant or a good practice?
body: <p>I've watched the <a href="http://www.stanford.edu/class/cs193p/cgi-bin/drupal/" rel="noreferrer">Stanford iTunes U course on iOS (cs193p)</a> where the teacher explicitly says to always specify ivar name when using <code>@synthesize</code> to avoid problems, such as</p>
  
  <pre><code>@synthesize name = _name;
  </code></pre>
  
  <p>But while browsing through the <a href="http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjectiveC/Chapters/ocProperties.html" rel="noreferrer">Cocoa documentation on declared properties</a> I haven't really seen this, or in any other sample code.</p>
  
  <p><strong>This brings me to a question, why is this needed? Isn't it good enough to just use the <code>@synthesize</code> with a property name? Are there any specific problems that this can help avoid?</strong></p>