This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Structured Project Directories

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

Parents
  • 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.

    --Cpt. Vince Foster
    2nd Cannon Place
    Fort Marcy Park, VA

Reply
  • 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.

    --Cpt. Vince Foster
    2nd Cannon Place
    Fort Marcy Park, VA

Children