muchweb.me

# Sane Code

*version 1*

  1. * expected inputs
  2. * how program is expected to process data (logging, algorithm, error handling)
  3. * expected outputs
  4. * pre-existing technical conditions (OS, arch, language, compiler/interpreter, ...)
  5. * pre-existing technical decisions about the implementation (libraries, APIs, ...)
  1. * program code, either compiled or interpreted
  2. * configuration: 1.1. environment variables 1.2. command line arguments 1.3. configuration file(s)
  3. * external dependencies: 2.1. operating system 2.2. libraries
  1. * set data (one-off programs, e. g. `sort`, `sed`, `grep`, `uniq`, etc...)
  2. * events (long-running programs, e. g. `web server`, etc...)