One class per file rule in .NET?
One class per file also gives you a better idea of what each check in is changing without looking at the diffs of the file.
I hate it when people think in absolutes and say you should never do this or that with something subjective and nit-picky like this, as if we all need to conform to someones stupid idea of right and wrong. Bottom line: having more than one class per file is totally fine if it makes sense. By makes sense I mean things like:
- Makes the code easier to digest and maintain
- Makes the solution less annoying (scrolling through countless unnecessary files) and less slow
- The dev team is okay with it as a local coding practice
A really good example of why I may want multiple classes per file:
Say I've got a few dozen custom exception classes, each one is a 4 liner, I could have a separate file for each one or I could group the exceptions and have a file per group. For me what seems the most rational/pragmatic approach is to group them, and just have a few files, because it's more efficient time/coding wise (I don't have to right-click -> Add Class, rename, 50 times), it keeps the solution less cluttered and better performing.