anchor.diff:  . Contains no duplication
   . Expresses the intent of the programmer
   . Minimizes the number of classes and methods
  - 
  +
   
   === class organization
   . Classes should be small
  
positive.code: called by a public function right after the public function itself. This follows the stepdown
  rule and helps the program read like a newspaper article.
  
  == Systems design 
  
  . Separation of concerns (AOP concept)
  . Dependency Injection (inversion of control)
  
negative.code: Design patterns
  http://blog.arungupta.me/microservice-design-patterns/
  
  === Guidelines on testing code
  
  One particularly good method to start using thrid party APIs in your code base is to use them in *Learning Tests*.
  These are normal tests which essentially start interacting with the api, but in ways you would expect. This allows you
  to quickly find out the lmitations in how it might solve some of your problems.
  
  