layout | title | permalink |
---|---|---|
page |
401.08 Reading Notes |
/401-R08/ |
-
"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 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.
-
"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.
-
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
-