title: NET: Best Practices/guidelines for dividing namespaces between files?
body: <p>What should be the general guidelines/gotchas for dividing application code (App_Code) into separate files?</p>
  
  <p>I've found that over time, the original files do not match up well with how the namespace hierarchy evolves. How do I keep application code containers organized intuitively over time? </p>
  
  <p>What PURPOSE should the file divisions aim towards? Code portability? Separation of concerns? General functional context? Frequency of change? Should they strive for 1-1 relationship with classes? </p>
  
  <p>What are the implications of splitting the code into MANY smaller files vs consolidated into few files?</p>
  
  <p>I've often thought about this but never really reached any general conclusions that apply to all situations. </p>