The Principle of Least Surprise (or Astonishment): you should choose a solution that everyone can understand, and that keeps them on the right track.
Keep It Simple Stupid (a.k.a. KISS): the simplest solution is more than sufficient.
You Ain’t Gonna Need It (a.k.a. YAGNI): create a solution for the problem at hand, not for the ones you think may happen later on. Can you predict the future?
Don’t Repeat Yourself (a.k.a. DRY): avoid duplication within a component, a source control repository or a bounded context, without forgetting the Rule of Three heuristic.
The four principles of object-oriented programming: encapsulation, abstraction, inheritance and polymorphism.