Skip to content

Code design and maintainability

All topics · Alphabetical index

Concepts

  • Cohesion; coupling; encapsulation; information hiding
  • SOLID; DRY; KISS; YAGNI; separation of concerns
  • Dependency inversion; dependency injection; composition; inheritance
  • Pure functions; side effects; referential transparency
  • Design by contract; invariants; preconditions; postconditions
  • Strategy; factory; builder; adapter; decorator; facade
  • Observer; command; state pattern
  • Code smells; refactoring; technical debt; complexity budgets
  • Error taxonomy; domain errors; exception boundaries
  • Public interfaces; dependency cycles; static analysis; code review

Further reading

Reference links for this topic.