If you have not adopted a best practice when it comes to naming your solution and projects within Visual Studio .NET, I urge you to take a moment a think about this subject. As anyone will tell you best practices are worth their weight in gold and why would anyone not want to review what others has determined that works? By doing so you are not doomed to make the same mistakes.
I believe a great place to start is the .NET Framework Class Library itself. By looking at this framework you will notice that the namespaces are grouped by commonality therefore you can apply the same thoughts to your projects. An unexpected perk of adopting this type of thought is you will now be promoting code re-use and efficient separation of logic. Face it, anything that reduces complexity and increases productivity is well worth the thought.
Assume for a moment that you have the following components:
- Business Logic
- Data Access
- Common Logic
- Exception Management
- Utilities
In most cases this holds true for any application. To break these out within Visual Studio .NET as meaningful projects I suggest following the standard format of companyname.tier and this helps immensely in keeping things in order. Example:
Many applications more often than not employ the use of third party assemblies. A practice that I follow is to establish a folder named ThirdPartyAssemblies and create nested folders for each of these third party products. By doing so you can eliminate the need for a developer having to download and install additional products while at the same time ensuring the appropriate versions of the product is employed.
While these tips are basic in nature I believe that if you take the time to organize your projects before jumping in head first you will find you can better manage the application over time. Be sure to visit Microsoft’s patterns and practices for a wealth of information.
What have you found that works best for you and why? By all means share your own best practices with others so none of us are doomed to repeat mistakes that others have previously addressed.
Related posts:
















Recent Comments