\ Bin creates a working directory for the product and stores the current version of All executable files in the project;
\ Lib library files related to the project;
\ SQL stores Database SQL files (only for database program development );
\ Res includes all the shared resources of the application, such as icons (charts) and resource files;
\ PIC Image
\ Include a public form or unit;
\ Control stores controls provided by self-editing or third parties in the project;
\ Source program source code;
\ Public modules or programs that can be shared;
I used Google to find out how to separate folders and directories for the solution in C #.
Http://programmers.stackexchange.com/questions/40394/how-do-you-organize-your-projects
Here is the basic solution layout that I always start. as the projects get better defined I refine it to meet the specific needs of the project. some areas may be merged with others and I may add a few special ones as needed.
Top 1 solutionname
(1). projectnamedocuments
For large projects there are certain documents that need to be kept
It. For this I actually create a seperate project or folder within
Solution to hold them.
(2). projectnameunittest
Unit testing always depends on the project some times it is just really
Basic to catch edge cases and some times it is set up for full code
Coverage. Recently have added graphical unit testing to the arsenal.
(3). projectnameinstaller
Some projects have specific installation requirements that need to be
Handled at a project level.
(4). projectnameclasslibrary
If there is a need for Web Services, APIs, DLLs or such.
(5). projectnamescripts (** added 2/29/2012 **)
I am adding this because I just found a need for one in my current project.
This project holds the following types of scripts: SQL (tables, procs, views ),
SQL data update scripts, vbscripts, etc.
(6). projectname
A. datarepository
Contains base data classes and database communication. Sometimes
Also hold a directory that contains any SQL procs or other specific
Code.
B. dataclasses
Contains the base classes, structs, and enums that are used in
Project. These may be related to but not necessarily be connected
The ones in the data repository.
C. Services
Performs all crud actions with the data, done in a way that
Repository can be changed out with no need to rewrite any higher
Level code.
D. Business
Performs any data calculations, business level data validation, does
Most interaction with the service layer.
E. helpers
I always create a code module that contains helper classes. These
May be extensions on system items, standard validation tools,
Regular expressions or custom built items.
F. userinterface
The user interface is built to display and manipulate the data.
Ui forms always get organized by functional unit namespace with
Additional folder for Shard forms and one for custom controls.