The only reason to split your code in files is to make your code indispensable.
As a rule, I try to create folders for listings, structures, models, controllers, etc. Depending on the size of the solution, you keep nesting in groups after that.
Sometimes it makes sense to just put the entire namespace in a file; at another time, you let your nesting take care of the naming convention.
A good dumb rule is that you should be able to find what you are looking for quickly, and more importantly, someone who has not seen the project should quickly find their way.
Keep in mind that you never add more than one item to a single file. Never put two classes in the same file, never add enumerations at the end of a class file, etc.
source share