Question
Should the folders in a solution match the namespace?
In one of my teams projects, we have a class library that has many sub-folders in the project.
Project Name and Namespace: MyCompany.Project.Section.
Within this project, there are several folders that match the namespace section:
- Folder
Vehicleshas classes in theMyCompany.Project.Section.Vehiclesnamespace - Folder
Clothinghas classes in theMyCompany.Project.Section.Clothingnamespace - etc.
Inside this same project, is another rogue folder
- Folder
BusinessObjectshas classes in theMyCompany.Project.Sectionnamespace
There are a few cases like this where folders are made for "organizational convenience".
My question is: What's the standard? In class libraries do the folders usually match the namespace structure or is it a mixed bag?
Answer
Also, note that if you use the built-in templates to add classes to a folder, it will by default be put in a namespace that reflects the folder hierarchy.
The classes will be easier to find and that alone should be reasons good enough.
The rules we follow are:
- Project/assembly name is the same as the root namespace, except for the .dll ending
- Only exception to the above rule is a project with a .Core ending, the .Core is stripped off
- Folders equals namespaces
- One type per file (class, struct, enum, delegate, etc.) makes it easy to find the right file
0 comments:
Post a Comment