When NOT to Apply a Principle: YAGNI vs Premature Abstraction
This generated surface maps a learner-facing curriculum unit to its canonical source routes.
Curriculum surface
- Open learner-facing unit
- Curriculum path:
content/curriculum/foundations/semester-03-software-design/module-01-ood-foundations-and-smells/concepts/cluster-05-system-level-smells-and-design-judgment/15-when-not-to-apply-a-principle-yagni-vs-premature-abstraction-primary.md - App:
foundations - Semester:
semester-03-software-design - Module:
module-01-ood-foundations-and-smells - Unit kind:
concept - Curation level:
generated_default
Learning objectives
- Explain When NOT to Apply a Principle: YAGNI vs Premature Abstraction in the language of the current curriculum, not just the source book.
- Apply When NOT to Apply a Principle: YAGNI vs Premature Abstraction to one concrete learner task or example inside this semester.
- Use
clean-code,good-code-bad-code,refactoringas a selective source of truth when the learner-facing explanation is not enough.
Prerequisites
- The earlier concept pages and practice tasks in the current module.
Source books
clean-codegood-code-bad-coderefactoring
Source routes
Clean Code
- /books/clean-code/chapter-17-smells-and-heuristics-c1-inappropriate-informatio via
Clean Code: Chapter 17 -- Smells G12 to G18 (inappropriate abstraction),Clean Code: Chapter 17 — Smells G12 to G18 (inappropriate abstraction)
Good Code Bad Code
- /books/good-code-bad-code via
Good Code, Bad Code: When layers get too thin
Refactoring
- /books/refactoring via
Refactoring: Problems with Refactoring (Part 2),Refactoring: Refactoring, Architecture, and YAGNI,Refactoring: When should we refactor (Part 1)
Supporting curriculum routes
No supporting curriculum routes linked yet.
External enrichment
No curated enrichment resources yet.
AI companion modes
- Explain simply
- Socratic tutor
- Quiz me
- Challenge my understanding
- Diagnose my confusion
- Generate extra practice
- Revision mode
- Connect forward / backward
Source-of-truth note
This teaching unit is learner-facing guidance assembled from multiple canonical book routes. Use the listed source books as the primary conceptual spine for When NOT to Apply a Principle: YAGNI vs Premature Abstraction, and treat outside material as supporting enrichment only.