Shell-model project

  • Write small modules (routines/functions) ; avoid big functions that do everything. (But not too small.)
  • Use Unit tests! Write lots of error traps, even for things that are `obvious.'
  • Document as you go along. The Unit tests serve as documentation. For each function write a header that includes:
    1. Main purpose of function and/or unit test
    2. names and brief explanation of input variables, if any
    3. names and brief explanation of output variables, if any
    4. functions called by this function
    5. called by which functions