1. No object should have more than three public methods
  2. Objects should not have getters or setters
  3. Everything else must be private
  4. If three private methods are doing something similar, then maybe those are the public methods of another class
  5. Never inherit
  6. Always compose
  7. Changeability is the most important thing
  8. A "good" variable name is a name that describes unambiguously what the variable contains, without describing the implementation
  9. If you don’t use good variable names, I will look for you. I will find you. And I will kill you.1

  1. This is a reference to the movie "Taken". [return]