Skip to content

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.
windows See below: Workspace for Windows Determine workspace for Windows.
cygwin See below: Workspace for Cygwin Determine workspace for Cygwin.
gitbash See below: Workspace for Git Bash Determine workspace for Git Bash.
linux 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:

  1. 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.
  2. Does a software program/project suggest a location in order to maintain consistency between users?
  3. 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.

windows 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.

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.

cygwin 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).

gitbash 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).

windows 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).