Namespacing and Code Organization
Mads talks about namespacing and organization on the Workspaces. This is what I've come up with, maybe it will help you out.
My code is organized in the following pattern:
Namespace:
CompanyName.BrandName.ComponentName
In the case if GenX.NET, it's Interscape.CodesideAssistance.GenX. Since my reasons for this go outside the scope of this blog, I will talk about it in my corporate blog at a later date. At any rate, my namespace hierarchy looks like this:
- Interscape
- CodesideAssistance
- GenX
- ScrollingDataGrid
- ForumsConfigurator
- Iewc
- SimpleRss
- ezc2
- SimpleCard
- CodesideAssistance
It's fairly simple, really, and allows for consistency across product lines and brands.
As for my GotDotNet Workspace, it is laid out as follows:
- Product Name
- MajorVersion.MinorVersion
- Major.Minor.FrameworkVersion.BuildNumber
- MajorVersion.MinorVersion
Again, using GenX.NET as an example, it looks like this:
- GenX.NET
- 2.0
- 3.0
- 3.0.3300.1099
- 3.0.5000.1099
- ScrollingDataGrid
- 1.0
- 1.0.3300.5495
- 1.0.5000.5495
- 1.0
For more on my versioning policy, click here. That's it. I keep it pretty simple. What do YOU use?