title: Namespace naming conventions in dotnet
body: <p>I typically use this convention:</p>
  
  <p>CompanyName.ApplicationName.Functionality</p>
  
  <p>e.g.</p>
  
  <pre><code>Acme.EmailService
  Acme.EmailService.Dal
  Acme.EmailService.BusinessLogic
  Acme.EmailService.BusinessLogic.ErrorHandling
  </code></pre>
  
  <p>but where I currently work, they use:</p>
  
  <p>CompanyName.Functionality.ApplicationName</p>
  
  <pre><code>Acme.EmailService
  Acme.Dal.EmailService
  Acme.BusinessLogic.EmailService
  Acme.BusinessLogic.EmailService.ErrorHandling
  </code></pre>
  
  <p>The last namespace looks a bit weird to me. It is a subfolder of the businesslogic project so by default the foldername is appended to the namespace.</p>
  
  <p>I have seen plenty of naming convention standards but none seem to mention this issue.</p>
  
  <p>What are the Pros and Cons of each approach?</p>