I find that having a "standard" project directory with sub-directories for all projects to be of great value.
I do not know what others have done when they start a new project, but I can tell you that I simply copy-n-paste, then rename this "template" into my ..\Projects\ directory, and then work from within the template's standardized structure.
e.g. ..\Projects\Alpha
Where "Alfa" is the renamed standardized structure.
I will add sub-directories to this standard structure when it is deemed appropriate. I highly recommend this structure to people who work on multiple projects and add this bit of advice to their methods.
--Cpt. Vince Foster 2nd Cannon Place Fort Marcy Park, VA
I wasn't thinking on the "minor" scale of just the code-monkey's working directory and its possible IDE sub-directories, but rather for the project as a whole...
E:\ACME\ENG\PRJ\WIDGET\ +-\Docs { All project documentation } | +-\Elect\Released { All electrical stuff here } | \Rev- { Officially Released Schem } | \RevA { Revision Lists } | \Rev[etc] | \Work { Working directory for elex} | +-\Mech\Released { All mechanical stuff here } | \Rev- { Officially Released DWGs } | \RevA { Revision Lists } | \Rev[etc] | \Work { Working directory for mech} | +-\PDFs { Actual data-sheets or a short-cut to a dBase of data-sheets } | +-\Pics { Photos, graphics, and other images for the project } | +-\PLDs\Released { Officially Released Schem } | \Rev- { VHDL, Verilog, CUPL, ABLE, etc } | \RevA { Officially Released HDLs } | \Rev[etc] { Revision Lists } | | \Work { Working HDL code directory } | \ { FPGA IDE Derived Directories } | \ { FPGA IDE Derived Directories } | \ { FPGA IDE Derived Directories } | +-\Sim\Released { Officially Released Sims } | \Rev- { Officially Released Sims } | \RevA { Revision Lists } | \Rev[etc] | \Work { Simulation working directory (SPICE/Simulink/etc) } | +-\Soft\Released { Officially Released Software } | \v0_00 { Officially Released code } | \v1_21 { Revision Lists } | \v[etc] | \DFDs { UML/[pick your flavor] documentation } | \FQT { Formal Quality Testing needs } | \Master { in a Master/Slave scenario } | \Released { Officially Released Master Software } | \v0_00 { Officially Released Master } | \v1_21 { Revision Lists } | \v[etc] | | \Work { Software working directory (C/C++/ASM/etc) } | +-\Specs { Specifications, eg ANSI XYZ, NEMA, etc } | +-\Test { Testing Plans and results } | +-\Weblinks { Worth-while website short-cuts } | +-\[as needed: e.g. corrispondance] | +-\[as needed: e.g. Slideshows]
For the '\Work' directories, I personally allow the .C .ASM .LST .MAP .SRC .OBJ all reside within the same "\Work" directory. My Editor (CodeWright 7.5) can segregate them for me. I don't really care if these IDE generated files are separated into their own folders. (Should I?)
Dear [Flat] Black, You are right, it is in Checklist Volume#7, Chapter#9, Section#28, Sub-Section#12, Point#12. We are then pointed to Addendum Volume#12, Chapter#27, Section#98, Sub-Section#4, Point#14.C.
I was wondering what other people have for their 'standard' project directories.