Skip to content

Latest commit

 

History

History
42 lines (24 loc) · 1.35 KB

401-08.md

File metadata and controls

42 lines (24 loc) · 1.35 KB
layout title permalink
page
401.08 Reading Notes
/401-R08/

Object-Oriented Design Principles

"DRY"

  • "Don't Repeat Yourself": A development philosophy where repeated code is avoided.

  • Described by Andy Hunt and Dave Thomas as "Every piece of knowledge must have a single, unambiguous, authoritative representation within a system."

  • Advantages include:

    • Easier refactoring, as key code does not affect unrelated code.

    • More uniformity, as code blocks refer to required logic rather than partially recreating.

Rule of Three

  • Rule of Three refers to the guideline of waiting for the third use of a potentially abstracted code element before abstracting.

  • Immediate abstraction is avoided, as core requirements and definitions may not be feasibly recognized with few instances.

YAGNI

  • "You Aren't Gonna Need It": Design principle that discourages adding more functionality than currently required.

  • Defined as part of extreme programming philosophy alongside frequent testing and refactoring practices.

MVP

  • Minimum Viable Product: The simplest build of a product that allows use.

  • Advantages include:

    • Testing and feedback from early use, leading to user-informed development earlier in the cycle.

    • Shorter time to abandonment of unviable products.

    • More recognition of product and/or brand