The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Project folder structure

Hi all,

Anyone has a good project folder structure to recommend for better project files management?

I do something like..
Customer Name
- Project Name
-- Admin
-- Code
-- Config file
-- Database
-- Design Document
-- Test
...
but sometime ends up with too many folders & subfolders.
Ong See Liang Send private email
Friday, November 17, 2006
 
 
I use the following, which I adapted/stole ;) from "Pragmatic Version Control" <http://www.pragmaticprogrammer.com/starter_kit/vc/index.html>:

NOTE: Paths do not contain embedded spaces in order to facilitate scripting.
Windows and VSS are often confused when encountering a path with embedded
spaces.

NOTE: Text enclosed by chevrons («») is dynamic; substitute the appropriate
text as directed.

Path                        Description    
=========================== ===================================================
$/                            project root                        
    mainline/                main development branch, most recent revisions
        data/                files used to populate databases; test data                        
        db/                    database schema scripts                        
        doc/                technical documentation; manuals; user guides
        dpm/                DPM development process documents                        
            1_envisioning/    documents from the Envisioning phase of DPM                        
            2_planning/        documents from the Planning phase of DPM                        
            3_developing/    documents from the Developing phase of DPM                        
            4_stablizing/    documents from the Stablizing phase of DPM                        
            templates/        DPM document templates in effect at the time of
                            project inception                        
        project/            project management documents                        
            changeRequests/    change request documents                        
            defectReports/    defect reports                        
            issues/            issue documents; TBDs and TBRs                    
            minutes/        meeting minutes                        
            misc/            project miscellanea and notes                        
            schedules/        project schedules                        
            statusReports/    status reports                        
            sqa/            software quality assurance files                        
        src/                CACD-developed source code common to all components
            manager/        CACD-developed source code for the test manager                        
            monitor/        CACD-developed source code for the test monitors                        
            runner/            CACD-developed source code for the test runners                        
        util/                Tools and utilities; framework templates                        
        vendor/                3rd-party libraries and files. This node should be
                            empty; create a sub-node for each product.                        
            «product»/        3rd-party product files (libs; exes; archives)
        vendorsrc/            3rd-party source code. This node should be empty;
                            create a sub-node for each product.                        
            «product»/        3rd-party product source code files; CACD changes to
                            3rd party source code                        
    
    release_«yyyy-mm-dd»/    release branch; date used is the branch create date
    
    task_«id»/                task branch; id uniquely identifies task in project
                            hierarchy
Former COBOL Programmer
Friday, November 17, 2006
 
 
Your reply is very helpful.TQ.
BTW what is DPM & CACD?
Ong See Liang Send private email
Friday, November 17, 2006
 
 
DPM is my company's flavor of the Microsoft Solutions Framework methodology, so this is where we store the project documents.

CACD is a department in our company.

I intended to remove these entries when posting, but I accidently hit "OK" before I edited...sorry :(
FormerCOBOLProgrammer
Saturday, November 18, 2006
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz