• Writing meaningful names and following code style
  • Following code style guidelines
  • Keeping methods, classes, and files small
  • Minimizing cyclomatic complexity
  • Organizing code by the actor it belongs to
  • Keeping tests independent and fast