Make software executable by others
From Geoscience Paper of the Future
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