This is just for my personal reference. The original video by ArjanCodes on Youtube: https://www.youtube.com/watch?v=yatgY4NpZXE

  1. Do one thing and do it well
  2. Separate commands from queries
  3. Only request information that you actually need
  4. Keep the number of parameters minimal
  5. Do not create and use an object in the same place
  6. Do not use flag arguments
  7. Remember that functions are objects