Key Points

Command Line


  • We hope to improve on executing commands from a README

First Makefile


  • Use # for comments in Makefiles.
  • Write rules as target: dependencies.
  • Specify update actions in a tab-indented block under the rule.
  • Use .PHONY to mark targets that don’t correspond to files.

No Hands


  • While the automatic variables in a Makefile look mysterious, they support the DRY principle. Here we have used:
    • $@ which refers to the target of the current rule.
    • $^ which refers to the dependencies of the current rule.
    • $< which refers to the first dependency of the current rule.

Testing


  • Use unit tests for finding bugs quickly, and checking changes.
  • For Python code pytest works
  • Use a coverage tool for finding code that the testing suit missed
  • For Python code coverage works

Coding Standards


  • We use yapf to coerce Python code into standard use of white space
  • We use lint to detect deviations of our Python code from standards specified in pylintrc
  • We use mypy to check our use of Python type hints

Documentation


  • Sphinx can move information from Python souce files to documentation
  • That supports the DRY principal
  • It also supports having good information in Python source files