title: Multiple variables with same name within one method
body: <p>I like variables named correctly but in some cases it is very hard to do.</p>
  
  <p>So if my object implements <code>IDisposable</code> then I can use: </p>
  
  <pre><code>using (var whatever = new Whatever()) { //... }
  </code></pre>
  
  <p>But it is rare case, so I found another way to handle it - anonymous block (not sure how it called correctly):</p>
  
  <pre><code>//...
  {
      var whatever = new Whatever();
      //...
  }
  //...
  if (condition)
  {
      var whatever = new Whatever();
  }
  </code></pre>
  
  <p>Is it a good approach? Are there any pitfalls or widespread belief that it reduces code readability?</p>