Categorization of principles

Many principles which has been discovered in the context of software development have a much broader scope. The following categorization tries to address this fact:

  • general
  • As little as possible, as much as needed
  • divide and conquer
  • Don’t repeat yourself (DRY)
  • Keep it simple, studid (KISS)
  • programming
  • object-oriented programming
  • SOLID (no principle, but a well-known mnemonic acronym for 5 basic principles)
  • Single responsibility principle (SRP)
  • Open/Closed principle (OCP)
  • Liskov substitution principle (LSP)
  • Interface segregation principle (ISP)
  • Dependency inversion principle (DIP)