Difference between revisions of "Make software executable by others"

From Geoscience Paper of the Future
Jump to: navigation, search
(Added PropertyValue: Expertise = open science)
Line 1: Line 1:
 
[[Category:Task]]
 
[[Category:Task]]
 +
 +
== What This Task Involves ==
 +
 +
There are a few simple things that you can do to make your code more usable by others.  Here are a few suggestions:
 +
 +
* Locate the software that you used to generate the results.  Make sure it is modular and it is clear what the data flow across the different modules is.
 +
 +
* If you have variables whose values are set in the code, think about making those values a parameter to the code.  This will expose to others the ability to change that value, and will make it easy for others to do so without reloading the code.
 +
 +
* Scan your code for hardcoded paths, or paths specified in a format that is dependent on the underlying OS.  For example, a path that is specified as Users/JohnSmith/mycode/main.py will make the code dependent on that directory existing in the file system.  Change those to make them parameters.
 +
 +
* If your code has runtime dependencies make notes about them.  For example, if your code depends on a  certain R library make sure you specify what it is and how to find it.
 +
 +
* Write some documentation describing how the code should be invoked, its function, what assumptions it makes, any limitations of its use
 +
 
<!-- Add any wiki Text above this Line -->
 
<!-- Add any wiki Text above this Line -->
 
<!-- Do NOT Edit below this Line -->
 
<!-- Do NOT Edit below this Line -->

Revision as of 16:45, 12 March 2015


What This Task Involves

There are a few simple things that you can do to make your code more usable by others. Here are a few suggestions:

  • Locate the software that you used to generate the results. Make sure it is modular and it is clear what the data flow across the different modules is.
  • If you have variables whose values are set in the code, think about making those values a parameter to the code. This will expose to others the ability to change that value, and will make it easy for others to do so without reloading the code.
  • Scan your code for hardcoded paths, or paths specified in a format that is dependent on the underlying OS. For example, a path that is specified as Users/JohnSmith/mycode/main.py will make the code dependent on that directory existing in the file system. Change those to make them parameters.
  • If your code has runtime dependencies make notes about them. For example, if your code depends on a certain R library make sure you specify what it is and how to find it.
  • Write some documentation describing how the code should be invoked, its function, what assumptions it makes, any limitations of its use