Development Environment / Workspace
The following information explains how to determine a location for development files. This location is often called a software developer's "workspace".
Operating System | Information | Description |
---|---|---|
Introduction | Introduction for workspace concept. | |
![]() |
See below: Workspace for Windows | Determine workspace for Windows. |
![]() |
See below: Workspace for Cygwin | Determine workspace for Cygwin. |
![]() |
See below: Workspace for Git Bash | Determine workspace for Git Bash. |
![]() |
See below: Workspace for Linux | Determine workspace for Linux. |
Introduction
A "workspace" is a location where development files will exist. These files are typically located in the software developer's files so as to not get confused with other users or operating system files, and are typically organized by software project or product. Some considerations for the location of workspace files are:
- Are the files mainly associated with a developer's personal work, in which case the files can exist in any folder chosen by the developer.
- Does a software program/project suggest a location in order to maintain consistency between users?
- Does a development environment tool recommend standard locations?
The remainder of this page makes general recommendations based on the operating system; however, the above and other considerations should be evaluated.
Workspace for Windows
Development files on Windows are typically located under a user's C:\Users\user
folder.
Although Windows provides some standard folders such as Documents
,
it is recommended that one or more folders be created that are clearly for development.
One convention is to organize development folders based on the following hierarchy:
- Organization 1 (for which development occurs)
- Product1
- Product2
- Organization 2 (for which development occurs)
- ProductA
- ProductB
This allows development work to be easily found and managed.
An example at the Open Water Foundation is as follows.
Links to products provide access to README
files that further illustrate file organization.
C:/Users/user/
cdss-dev/
(work done as part of Colorado's Decision Support Systems)my-dev/
(personal work, such as training and rough prototypes)Project1/
Project2/
owf-dev/
(work done for Open Water Foundation)GeoProcessor/
(GeoProcessor software)Learn-Python/
(this documentation)
The following are also considerations:
- Text files created in Windows typically use Windows end of line (
CR``LF
). - Windows files will be directly visible to Cygwin and Git Bash.
- Windows files can also be shared with Linux.
Workspace for Cygwin
Although Cygwin home folder (/home/user
) could be used,
development files for Cygwin are typically shared with the Windows location
to avoid having a redundant development folder, with the following considerations:
- The user's home folder that maps to Windows is similar to
/cygdrive/C/Users/user
. - Text files created in Cygwin typically UNIX end of line (
LF
).
Workspace for Git Bash
Development files for Git Bash are typically shared with the Windows location, with the following considerations:
- The user's home folder in Git Bash is similar to
/c/Users/user
. - Text files created in Git Bash typically use the UNIX end of line (
LF
).
Workspace for Linux
Development files for Linux are similar to Windows (see above), with the following considerations:
- The user's home folder is similar to
/home/user
. - Text files created in Linux will typically have Linux end of line (
LF
).