YAGNI principle
E426641
The YAGNI principle is a software development guideline that advises programmers to avoid implementing features until they are actually needed, helping reduce overengineering and unnecessary complexity.
All labels observed (1)
| Label | Occurrences |
|---|---|
| YAGNI principle canonical | 1 |
How this entity was disambiguated
This entity first appeared as the object of triple T4276350 — resolving that mention is where its identity was fixed. The disambiguator weighed these candidate entities and picked the highlighted one (or “None”, minting a new entity). This is how homonymy is resolved: the same surface form can point to different entities.
Target entity: YAGNI principle Context triple: [DRY principle, relatedTo, YAGNI principle]
-
A.
DRY principle
The DRY (Don't Repeat Yourself) principle is a software development guideline that emphasizes reducing repetition by centralizing logic and data to improve maintainability and reduce errors.
-
B.
Single Responsibility Principle
The Single Responsibility Principle is a core object-oriented design guideline stating that a class or module should have only one reason to change, meaning it should be responsible for just a single, well-defined functionality.
-
C.
Linus’s Law
Linus’s Law is the open-source software development principle that “given enough eyeballs, all bugs are shallow,” emphasizing the power of many reviewers to quickly find and fix defects.
-
D.
Dependency Inversion Principle
The Dependency Inversion Principle is an object-oriented design guideline that promotes decoupling by having high-level and low-level modules depend on shared abstractions rather than concrete implementations.
-
E.
Clean Architecture
Clean Architecture is a software design philosophy and set of principles, popularized by Robert C. Martin, that emphasizes separation of concerns, testability, and independence from frameworks, databases, and user interfaces.
- F. None of above. chosen
- G. Unsure - the case is ambiguous/there is not enough information to decide.
Target entity: YAGNI principle Target entity description: The YAGNI principle is a software development guideline that advises programmers to avoid implementing features until they are actually needed, helping reduce overengineering and unnecessary complexity.
-
A.
DRY principle
The DRY (Don't Repeat Yourself) principle is a software development guideline that emphasizes reducing repetition by centralizing logic and data to improve maintainability and reduce errors.
-
B.
Single Responsibility Principle
The Single Responsibility Principle is a core object-oriented design guideline stating that a class or module should have only one reason to change, meaning it should be responsible for just a single, well-defined functionality.
-
C.
Linus’s Law
Linus’s Law is the open-source software development principle that “given enough eyeballs, all bugs are shallow,” emphasizing the power of many reviewers to quickly find and fix defects.
-
D.
Dependency Inversion Principle
The Dependency Inversion Principle is an object-oriented design guideline that promotes decoupling by having high-level and low-level modules depend on shared abstractions rather than concrete implementations.
-
E.
Clean Architecture
Clean Architecture is a software design philosophy and set of principles, popularized by Robert C. Martin, that emphasizes separation of concerns, testability, and independence from frameworks, databases, and user interfaces.
- F. None of above. chosen
Statements (50)
| Predicate | Object |
|---|---|
| instanceOf |
agile development principle
ⓘ
software development principle ⓘ |
| abbreviation | YAGNI NERFINISHED ⓘ |
| aimsTo |
improve focus on current requirements
ⓘ
reduce maintenance cost ⓘ reduce overengineering ⓘ reduce unnecessary complexity ⓘ save development time ⓘ |
| appliesTo |
API design
ⓘ
architecture decisions ⓘ feature design ⓘ user interface features ⓘ |
| associatedWith |
Extreme Programming
NERFINISHED
ⓘ
agile software development ⓘ lean software development ⓘ |
| assumes |
future needs are uncertain
ⓘ
requirements will evolve ⓘ |
| benefit |
easier testing
ⓘ
faster onboarding for new developers ⓘ fewer bugs ⓘ simpler design ⓘ smaller codebase ⓘ |
| category |
agile practice guideline
ⓘ
design principle ⓘ software engineering guideline ⓘ |
| contrastsWith |
gold plating
ⓘ
overengineering ⓘ speculative design ⓘ |
| coreIdea |
avoid speculative generality
ⓘ
do not add functionality until it is necessary ⓘ implement the simplest thing that could possibly work ⓘ |
| describes | practice of not implementing features until they are needed ⓘ |
| fullName | You Aren’t Gonna Need It NERFINISHED ⓘ |
| promotedBy | Extreme Programming community NERFINISHED ⓘ |
| relatedTo |
KISS principle
NERFINISHED
ⓘ
Occam’s razor in software design ⓘ lean principle of eliminating waste ⓘ |
| requires |
deferring decisions until last responsible moment
ⓘ
reliance on refactoring to adapt later ⓘ |
| riskIfIgnored |
bloated codebase
ⓘ
harder maintenance ⓘ increased technical debt ⓘ wasted development effort ⓘ |
| supportsPractice |
incremental development
ⓘ
iterative development ⓘ refactoring ⓘ test-driven development ⓘ |
| usedIn |
commercial software projects
ⓘ
open-source software projects ⓘ startup product development ⓘ |
How these facts were elicited
The pipeline generated the facts above by prompting gpt-5.1 with this entity's name + description and the instruction below.
You are a knowledge base construction expert. Given a subject entity and a description of it, return factual statements that you know for the subject as a JSON list of dictionaries(triples), where keys must be "subject", "predicate" and "object". The number of facts may be very high, between 25 to 50 or more, for very popular subjects. For less popular subjects, the number of facts can be very low, like 5 or 10. # Requirements - If you don't know the subject at all, return an empty list. - If the subject is not a named entity, return an empty list. - Include at least one triple where predicate is "instanceOf". - Do not get too wordy. - Separate several objects into multiple triples with one object.
Subject: YAGNI principle Description of subject: The YAGNI principle is a software development guideline that advises programmers to avoid implementing features until they are actually needed, helping reduce overengineering and unnecessary complexity.
Referenced by (1)
Full triples — surface form annotated when it differs from this entity's canonical label.