1. Class Design
    1. Single Responsibility Principle (SRP)
    2. Open Closed Principle (OCP)
    3. Liskov Substitution Principle (LSP)
    4. Interface Segregation Principle (ISP)
    5. Dependency Inversion Principle (DIP)
  2. Package Cohesion
    1. Release Reuse Equivalency Principle (RREP)
    2. Common Closure Principle (CCP)
    3. Common Reuse Principle (CRP)
  3. Package Coupling
    1. Acyclic Dependencies Principle (ADP)
    2. Stable Dependencies Principle (SDP)
    3. Stable Abstractions Principle (SAP)
  4. Environment
  5. Dependency Injection
  6. Main Topic 6
  7. Main Topic 7
  8. Main Topic 8
  9. General
    1. Follow Standard Conventions
    2. Keep it simple, stupid (KISS)
    3. Boy Scout Rule
    4. Root Cause Analysis
    5. Multiple Languages In One Source File