Difference between revisions of "Make software executable by others"
From Geoscience Paper of the Future
(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 23: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