Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Possible Duplicate:
How do you organize your projects folders?

I'm interested to learn how everyone keeps their local development projects organized in a logical manner. What do you do to keep your dev projects organized in a manner that allows you to easily find things?

share|improve this question

marked as duplicate by Yannis Rizos May 1 '12 at 7:33

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

add comment

3 Answers

At any given time, I normally have several different clients, each of whom has one or more projects. I also use a mainline-with-branching development model, which works well with many version control systems like git and Perforce.

So on any one of my development machines, above the individual project level, things look like this:

Client 1 Directory
    Project Foo Directory
        Main Branch Directory
        All Branches In One Directory (useful for Perforce branching/merging)
        Simple Fixes Branch Directory
        Big Ongoing Feature 1 Directory
        Big Ongoing Feature 2 Directory
        (etc.)
    Project Bar Directory
        (similar branch directories)
Client 2 Directory
    Project Baz Directory

and so on. I don't typically pull all branches onto any given machine, or pull Mac projects onto a Windows or Linux box.

Individual branches usually look something like this:

Build Instructions Document/Checklist
Top-Level Makefile/Project
Source (Directory)
   Main Source Files
   Component 1 Source Directory
   Component 2 Source Directory
   (etc.)
Include (Directory for headers exposed to the outside world, if suitable)
ThirdParty (Libraries, source code, etc. from elsewhere)
Unit Tests

Of course, there's a lot of variation. And if I take over a project somebody else started, I usually retain their existing hierarchy.

I typically keep documentation and test files either attached to a wiki in my issue tracking system (Redmine), or if they're bigger than Redmine's default 5 MB limit, on an FTP server, so I don't have to keep local copies on all my development machines, but can retrieve them as I need them.

share|improve this answer
    
+1 - as I have approximately the same layout. –  MZB Nov 25 '10 at 1:48
    
+1 - about the same here, except I don't organize by client, just project. –  Steve Evers Nov 25 '10 at 3:47
    
+1 same organization here –  user2567 Nov 25 '10 at 7:35
add comment

i use a structure similar to Bob's but i also have a separate root for documents with projects and admin folders. I don't like mixing dead trees and code in the same hierarchy.

[yes, i know it's two places to back up; i find the convenience worthwhile]

share|improve this answer
add comment

I use the following structure for my project on Java (three top-level directories):

Project/ - the projects main directory
   src/ - source files
   doc/ - documentation sources, generated HTML, PDF files
   build/makefiles and configurable template files for local paths and versions
   ChangeLog - a text file to track changes in the project
   README-DEV - describes how to build the project
   tests/ - everything concerning unit-testing
   kit/ - third party libs, sources

TSTProject/ - test-cases (over 2000 XML files), scripts for automated testing

Project_BRANCHES/ - branches, usually a branch per public release
share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.