When you first get involved with agile development, you quickly hear about the SOLID principals and design patterns. They are a bit much to bite off at first. Through the Ruby community I have discovered a simpler more fundamental set of guidance for beginners that appear to be fundamentals for the higher level principals of SOLID, called the Four Rules of Simple Design:

  • Pass all tests
  • Clear, expressive & consistent
  • Duplicates no behavior or configuration
  • Minimal methods, classes & modules

Here is an amazing introduction to the concept by JB Rains.