title: Should I stop fighting Visual Studio's default namespace naming convention?
body: <p>I'm working on an MVVM project, so I have folders in my project like Models, ViewModels, Windows, etc. Whenever I create a new class, Visual Studio automatically adds the folder name to the namespace designation instead of just keeping the project-level namespace. So, adding a new class to the ViewModels folder would result in the namespace, <code>MyProject.ViewModels</code> instead of just <code>MyProject</code>.</p>
  
  <p>When I first encountered this, it annoyed me. My class names are pretty clear, sometimes even containing the name of the folder in them (e.g., <code>ContactViewModel</code>). I quickly found myself manually removing the folder name on the namespaces. I even tried at one point to create a custom class template (see <a href="https://stackoverflow.com/questions/1220389/whats-wrong-with-my-visual-studio-2008-template">this question</a>), but I couldn't get that to work, so continued doing it manually.</p>
  
  <p>I've begun to wonder, though, if this convention exists for a good reason that I'm just not seeing. I could see it being useful if you for some reason had lots of sets of identical class names organized into folders, but that doesn't seem like a particularly common scenario.</p>
  
  <p><strong>Questions:</strong></p>
  
  <ul>
  <li>Why is it common convention for namespace names to reflect folder structure?</li>
  <li>Do you abide by this convention? Why?</li>
  </ul>