Jump to content

Organizing Files on Disk - What Is Your Method?


lvb

Recommended Posts

With all of the changes from Windows XP to Windows 7 and furthermore Windows 10 we now have legit user profile folders along with public folders.
I haven't had this conversation in a while so I was wondering how the community currently approaches this decision.
How do you organize your code on disk?  Please respond along with any folder structure and reasoning.


My old method:
C:\dev\Project Name
   Archive
   Code
   Documentation
   Support
   LabVIEW Project 1 Name.lvproj

Thoughts on a new method:
   The root of the "C" drive is no longer accessible on some PCs (due to security requirements).  Some PCs (not all) are equipped with another partition (D:\) for data.
   And it seems that all PCs have a Public folder.

   I have experienced some linking issues with placing the code on another partition (i.e. D:\)
   It seems the Public folder is the best location since it can be easily shared by multiple users.
   Any thoughts?  Where do you store your code?

Link to comment

Well at the moment I still do something like: C:\Code\SVN\Database Name\Project Name  Sometimes there is only one project in a database, so one level is removed.  And sometimes I only have code from SVN so the Code level is removed.  Under that I usually have these folders: Actors, Builds (which is excluded from SVN commits), Configurations, Documentation, Sandbox, Shared, Support Files, Validation, Verification.

I agree that some users don't have permissions on this more root location, but I've had problems with the path limitation in Windows, especially when building applications or VIPM packages, and having things near the root helps avoid this.  I guess one option would be to use symbolic links with mklink or junction to map a path deeper in the public space to one closer to the root.  

I haven't used it yet but the public documents path would probably be the more correct location for this type of source that all users have access to:

C:\Users\Public\Documents

Here is a Too Damn Long meme that I've probably made 4 times by now but can never find it when this subject comes up, which honestly is a bit inflated, but does reflect the level of nested folder structure I've seen used in the past.

1t5th9.jpg

 

Link to comment

I personally created a Veracrypt partion as a file in my personal folder and install it on boot up as drive P:\ for projects. :P

All my development work is on there, which has the extra benefit that it is password encrypted and can't be accessed by unauthorized people if the computer ever gets stolen. (This is a company requirement that all project work needs to be in some encrypted form that can only be accessed with the correct credentials).

  • Like 1
Link to comment

I have a partition (F:\) that contains all my code (my whole disk, USB drives and SD card are Vera-crypted, so I'm even more paranoid than Rolph :D ).

The top level of F:\ looks like this:

  • F:\CB
  • F:\CT
  • F:\LV
  • F:\MingW
  • F:\PHP
  • F:\ RUST
  • F:\WEB
  • F:\VS

(CB=Codeblocks, CT:=Codetyphon, LV=LabVIEW, VS=Visual Studio)

Under F:\LV I have the different LV versions:

  • 2009
  • 2010
  • 2011
  • 2012
  • 2013
  • 2014
  • 2015
  • 2016
  • 2017

And each has the following structure

  • Components
  • Products
  • Projects.

Each project has an entry under "Projects" (duh! :) ) and all have the following structure

  • API
  • Bin
  • Build
  • Core
  • Docs
  • Examples
  • Menus
  • Test

The project file and any dynamic libraries directly loaded sit at this level (F:\LV\<LabVIEW Version>\<Project Name>). The Bin directory will contain both 32 and 64 bit,libraries but the bitness that is worked with (usually 64 bit) will be here.

From that point it gets more flexible and project specific.

However. SVN plays an important role here since copies across versions are never copied from directory to directory. Instead they are checked out from SVN.

Edited by ShaunR
Link to comment

I currently use (drive):/projects as the location for the all projects I work on and (drive):/build for executables and installers. The build location is set by out IT, otherwise LabVIEW builds get seen as viruses.

Within Projects I usually use Code, Documents, Prototyping, Test. With the project code under the Code folder; Documents is requirements, design, etc; Prototype is initial design and testing code; with Test used for unit type testing.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.