MugUp logoMugUp
HomeBrowsePricingAboutBlogContact
LoginSign Up
© 2026 MugUp. All rights reserved.
HomeAboutDeck LibraryBlogChangelogContactFeature RequestsDeck Requests
Terms of ServicePrivacy PolicyCookie Policy
  1. Browse decks
  2. Clean Code & Software Engineering Principles
  3. DRY, KISS, YAGNI and Design Heuristics
Public deck

Clean Code & Software Engineering Principles

The language-agnostic foundation deck for engineers: SOLID, design heuristics, naming, functions, code smells and refactoring moves — the vocabulary that code review assumes you already have.

Engineering
AShared by Alex Chen
1PlaySign in to clone

You’re reading a free preview. Sign up to see every topic and question — and to play this deck as games.

See the whole deck

DRY, KISS, YAGNI and Design Heuristics

The design maxims every reviewer quotes — what each actually claims, and the ways each is routinely misapplied.

Play topicBack to deck

Content

41 total questions

MCQ: 10
Fill-in: 8
Flashcards: 13
Pair match: 10
DRY, KISS, YAGNI and Design Heuristics – Flashcards
Flashcards

Card #1

What does DRY stand for, and what exactly must not be repeated?

Card #2

What is the most common way DRY is misapplied?

Card #3

What is the 'rule of three' in relation to duplication?

10 more questions in this game

Showing 3 of 13. Sign up free to see the rest.

Sign up freeLog in
DRY, KISS, YAGNI and Design Heuristics – MCQ
Multiple Choice Questions
  1. 1. DRY is fundamentally about avoiding duplication of:

    • knowledge — each rule having a single authoritative representation
    • characters of source code
    • file and module names
    • test cases
  2. 2. Two validation functions have identical bodies but enforce unrelated business rules. The best action is usually to:

    • leave them separate — they are likely to change independently
    • extract a shared helper immediately
    • delete one and have it call the other
    • move both into a common base class
  3. 3. YAGNI most directly argues against:

    • building features on speculation about future needs
    • writing tests before production code
    • using design patterns at all
    • refactoring code that already works
7 more questions in this game

Showing 3 of 10. Sign up free to see the rest.

Sign up freeLog in
DRY, KISS, YAGNI and Design Heuristics – Fill-in-the-blank
Fill in the Blank
  1. 1. DRY stands for Don't Repeat ___.

    Answer:Yourself

    Hint: Second person

  2. 2. YAGNI stands for You Aren't Gonna ___ It.

    Answer:Need

    Hint: About future requirements

  3. 3. The rule of ___ tolerates duplication until the third occurrence before extracting an abstraction.

    Answer:threealso: 3

    Hint: A number

5 more questions in this game

Showing 3 of 8. Sign up free to see the rest.

Sign up freeLog in
DRY, KISS, YAGNI and Design Heuristics – Pair match
Pair Match
DRY↔One authoritative representation of each piece of knowledge
KISS↔Prefer the simplest design that works
YAGNI↔Don't build for speculative future needs
7 more questions in this game

Showing 3 of 10. Sign up free to see the rest.

Sign up freeLog in