View on GitHub

udoxy

Guidelines and script (bash) for generic standalone code documentation

DOI

Guidelines and script for the generic documentation of source code implemented in various programming languages (bash/Perl/Python/R/Matlab/SAS/Stata/DOS/…).

Description

An appropriate documentation will enable:

Say it otherwise, it should address the needs of all different produsers’ profiles. For that reason, it will be made available not only as an inline documentation (visible by those who actually implement the code, e.g. through comments in the code), but as a portable document (visible by those who run the code, e.g. through a browsable interface like html) as well. To do so, we suggest to adopt a common way for describing and documenting source code/programs regardless of the platform (language, software) used for the implementation. The solution we propose in practice (see our motivation here) is the following:

Rather than describing IT tools, the purpose of the documentation is to describe the underlying statistical processes. Therefore, it is important that the documentation does not restrict to a single programming language or software, but instead supports various different implementations. In this aspect, we hereby provide with the common guidelines and templates to inline document:

as well as the tool to automatically extract the inline documentation, and the commands to generate an online document that merges the different documentations.

Table of Contents
Notes
  1. The approach proposed herein is adapted to the documenting of stand-alone programs and processes. It can be can easily be extended (e.g., slightly adapting the guidelines and tools) to support other software/programing languages.
  2. The solution proposed addresses the needs of all produsers’ profiles (i.e., both users who aim at running and (re)using a program/code, and developers who want to maintain, share, extend, and migrate a program).
About

This material aims at supporting the development, sharing and reuse of open IT components, e.g., deployed in production environment, and ensuring complete transparency of in-house computational resources, e.g. regardless of the platform used for the implementation as presented in:

Notice

Copyright (c) 2017, J.Grazzini, European Commission.

Licensed under European Union Public License.