Skip to content

Commit 3e896d4

Browse files
authored
Merge pull request #360 from LLM-Coding/copilot/add-kiss-principle
Add KISS Principle semantic anchor
2 parents 77361ee + db9405d commit 3e896d4

9 files changed

Lines changed: 142 additions & 5 deletions

File tree

docs/anchors/kiss-principle.adoc

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
= KISS Principle
2+
:categories: design-principles
3+
:roles: software-developer, software-architect, consultant, educator
4+
:proponents: Kelly Johnson, Robert C. Martin
5+
:related: yagni, dry-principle, solid-principles
6+
:tags: kiss, simplicity, design-principles, over-engineering, readability
7+
:tier: 1
8+
9+
[%collapsible]
10+
====
11+
Full Name:: Keep It Simple, Stupid (also: Keep It Super Simple)
12+
13+
Also known as:: KISS, Keep It Simple
14+
15+
[discrete]
16+
== *Core Concepts*:
17+
18+
Simplicity as a design goal:: Systems work best when kept simple; complexity should be avoided whenever possible
19+
20+
Avoid over-engineering:: Don't add complexity, abstraction, or features beyond what the current problem requires
21+
22+
Readability over cleverness:: Code that is easy to read and understand is preferred over sophisticated but opaque solutions
23+
24+
Simplest working solution first:: Implement the most straightforward approach that satisfies the requirements, then refine if needed
25+
26+
Cognitive load reduction:: Simpler designs reduce the mental effort required to understand, maintain, and extend a system
27+
28+
Progressive enhancement:: Start simple; add complexity only when justified by concrete requirements (pairs with YAGNI)
29+
30+
Key Proponents:: Kelly Johnson (Lockheed Skunk Works, 1960s), Robert C. Martin ("Clean Code", 2008)
31+
32+
[discrete]
33+
== *When to Use*:
34+
35+
* When facing the choice between a simple and a complex solution
36+
* Reviewing code for maintainability and readability
37+
* Designing APIs, interfaces, or data models
38+
* Onboarding new team members to an unfamiliar codebase
39+
* Refactoring code that has grown unnecessarily complicated
40+
41+
[discrete]
42+
== *Related Anchors*:
43+
44+
* <<yagni,YAGNI>> - Don't implement what you don't need yet (complementary simplicity principle)
45+
* <<dry-principle,DRY>> - Eliminate redundancy to keep codebases simple and consistent
46+
* <<solid-principles,SOLID Principles>> - Structured guidelines that reinforce clean, simple designs
47+
====
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
= KISS Principle
2+
:categories: design-principles
3+
:roles: software-developer, software-architect, consultant, educator
4+
:proponents: Kelly Johnson, Robert C. Martin
5+
:related: yagni, dry-principle, solid-principles
6+
:tags: kiss, simplicity, design-principles, over-engineering, readability
7+
8+
[%collapsible]
9+
====
10+
Vollständiger Name:: Keep It Simple, Stupid (auch: Keep It Super Simple)
11+
12+
Auch bekannt als:: KISS, Keep It Simple
13+
14+
[discrete]
15+
== *Kernkonzepte*:
16+
17+
Einfachheit als Designziel:: Systeme funktionieren am besten, wenn sie einfach gehalten werden; Komplexität sollte möglichst vermieden werden
18+
19+
Over-Engineering vermeiden:: Keine Komplexität, Abstraktionen oder Funktionen hinzufügen, die über das aktuelle Problem hinausgehen
20+
21+
Lesbarkeit statt Cleverness:: Code, der leicht zu lesen und zu verstehen ist, wird gegenüber ausgefeilten, aber undurchsichtigen Lösungen bevorzugt
22+
23+
Einfachste funktionierende Lösung zuerst:: Den geradlinigsten Ansatz implementieren, der die Anforderungen erfüllt, dann bei Bedarf verfeinern
24+
25+
Reduktion der kognitiven Last:: Einfachere Designs reduzieren den mentalen Aufwand, der erforderlich ist, um ein System zu verstehen, zu pflegen und zu erweitern
26+
27+
Progressive Verbesserung:: Einfach beginnen; Komplexität nur hinzufügen, wenn sie durch konkrete Anforderungen gerechtfertigt ist (ergänzt YAGNI)
28+
29+
Schlüsselvertreter:: Kelly Johnson (Lockheed Skunk Works, 1960er), Robert C. Martin ("Clean Code", 2008)
30+
31+
[discrete]
32+
== *Wann zu verwenden*:
33+
34+
* Bei der Wahl zwischen einer einfachen und einer komplexen Lösung
35+
* Beim Überprüfen von Code auf Wartbarkeit und Lesbarkeit
36+
* Beim Entwerfen von APIs, Schnittstellen oder Datenmodellen
37+
* Beim Einarbeiten neuer Teammitglieder in eine unbekannte Codebasis
38+
* Beim Refactoring von Code, der unnötig komplex geworden ist
39+
40+
[discrete]
41+
== *Verwandte Anker*:
42+
43+
* <<yagni,YAGNI>> - Nicht implementieren, was noch nicht benötigt wird (komplementäres Einfachheitsprinzip)
44+
* <<dry-principle,DRY>> - Redundanz eliminieren, um Codebasen einfach und konsistent zu halten
45+
* <<solid-principles,SOLID Principles>> - Strukturierte Richtlinien, die saubere, einfache Designs fördern
46+
====

docs/anchors/yagni.adoc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
:categories: design-principles
33
:roles: software-developer, software-architect, consultant
44
:proponents: Ron Jeffries, Kent Beck
5-
:related: dry-principle, spot-principle, tdd-chicago-school
5+
:related: dry-principle, spot-principle, tdd-chicago-school, kiss-principle
66
:tags: yagni, extreme-programming, simplicity, incremental-design, over-engineering
77
:tier: 1
88

@@ -44,4 +44,5 @@ Key Proponents:: Ron Jeffries (coined the phrase), Kent Beck ("Extreme Programmi
4444
* <<dry-principle,DRY>> - Eliminates duplication of existing knowledge (complementary but distinct)
4545
* <<spot-principle,SPOT>> - Single Point of Truth, related simplicity principle
4646
* <<tdd-chicago-school,TDD, Chicago School>> - YAGNI is a core principle of classicist TDD
47+
* <<kiss-principle,KISS Principle>> - Keep systems as simple as possible (complementary simplicity principle)
4748
====

docs/anchors/yagni.de.adoc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
:categories: design-principles
33
:roles: software-developer, software-architect, consultant
44
:proponents: Ron Jeffries, Kent Beck
5-
:related: dry-principle, spot-principle, tdd-chicago-school
5+
:related: dry-principle, spot-principle, tdd-chicago-school, kiss-principle
66
:tags: yagni, extreme-programming, simplicity, incremental-design, over-engineering
77

88
[%collapsible]
@@ -43,4 +43,5 @@ Schlüsselvertreter:: Ron Jeffries (prägte den Begriff), Kent Beck ("Extreme Pr
4343
* <<dry-principle,DRY>> - Eliminiert Duplizierung vorhandenen Wissens (komplementär, aber verschieden)
4444
* <<spot-principle,SPOT>> - Single Point of Truth, verwandtes Einfachheitsprinzip
4545
* <<tdd-chicago-school,TDD, Chicago School>> - YAGNI ist ein Kernprinzip des klassischen TDD
46+
* <<kiss-principle,KISS Principle>> - Systeme so einfach wie möglich halten (komplementäres Einfachheitsprinzip)
4647
====

skill/semantic-anchor-translator/references/catalog.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,11 @@ Source: https://github.com/LLM-Coding/Semantic-Anchors
144144
### DRY (Don't Repeat Yourself)
145145
- **Core:** Every piece of knowledge has single, unambiguous representation
146146

147+
### KISS (Keep It Simple, Stupid / Keep It Super Simple)
148+
- **Also known as:** KISS Principle, Keep It Simple
149+
- **Proponents:** Kelly Johnson, Robert C. Martin
150+
- **Core:** Simplicity as design goal, avoid over-engineering, readability over cleverness, simplest working solution first, reduce cognitive load
151+
147152
### SPOT (Single Point of Truth)
148153
- **Core:** One authoritative source for each piece of data/logic
149154

website/public/data/anchors.json

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1587,6 +1587,37 @@
15871587
"filePath": "docs/anchors/jobs-to-be-done.adoc",
15881588
"tier": 3
15891589
},
1590+
{
1591+
"id": "kiss-principle",
1592+
"title": "KISS Principle",
1593+
"categories": [
1594+
"design-principles"
1595+
],
1596+
"roles": [
1597+
"software-developer",
1598+
"software-architect",
1599+
"consultant",
1600+
"educator"
1601+
],
1602+
"related": [
1603+
"yagni",
1604+
"dry-principle",
1605+
"solid-principles"
1606+
],
1607+
"proponents": [
1608+
"Kelly Johnson",
1609+
"Robert C. Martin"
1610+
],
1611+
"tags": [
1612+
"kiss",
1613+
"simplicity",
1614+
"design-principles",
1615+
"over-engineering",
1616+
"readability"
1617+
],
1618+
"filePath": "docs/anchors/kiss-principle.adoc",
1619+
"tier": 1
1620+
},
15901621
{
15911622
"id": "lasr",
15921623
"title": "LASR according to Toth/Zörner",
@@ -2845,7 +2876,8 @@
28452876
"related": [
28462877
"dry-principle",
28472878
"spot-principle",
2848-
"tdd-chicago-school"
2879+
"tdd-chicago-school",
2880+
"kiss-principle"
28492881
],
28502882
"proponents": [
28512883
"Ron Jeffries",

website/public/data/categories.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
"gof-strategy-pattern",
4242
"gof-template-method-pattern",
4343
"gof-visitor-pattern",
44+
"kiss-principle",
4445
"solid-dip",
4546
"solid-isp",
4647
"solid-lsp",

website/public/data/metadata.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
{
2-
"generatedAt": "2026-03-26T09:24:28.368Z",
2+
"generatedAt": "2026-03-26T09:31:40.107Z",
33
"version": "1.0.0",
44
"counts": {
55
"anchors": 107,
66
"categories": 12,
77
"roles": 12
88
},
99
"statistics": {
10-
"averageRolesPerAnchor": "3.12",
10+
"averageRolesPerAnchor": "3.11",
1111
"averageCategoriesPerAnchor": "1.01",
1212
"anchorsWithTags": 67,
1313
"anchorsWithRelated": 38

website/public/data/roles.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
"gutes-deutsch-wolf-schneider",
4343
"iec-61508-sil-levels",
4444
"impact-mapping",
45+
"kiss-principle",
4546
"lasr",
4647
"linddun",
4748
"mece",
@@ -109,6 +110,7 @@
109110
"feynman-technique",
110111
"gof-design-patterns",
111112
"gutes-deutsch-wolf-schneider",
113+
"kiss-principle",
112114
"mental-model-according-to-naur",
113115
"myers-briggs-type-indicator",
114116
"pert",
@@ -222,6 +224,7 @@
222224
"hexagonal-architecture",
223225
"iec-61508-sil-levels",
224226
"iso-25010",
227+
"kiss-principle",
225228
"lasr",
226229
"linddun",
227230
"llm-evaluations",
@@ -296,6 +299,7 @@
296299
"hexagonal-architecture",
297300
"iec-61508-sil-levels",
298301
"invest",
302+
"kiss-principle",
299303
"lasr",
300304
"linddun",
301305
"llm-evaluations",

0 commit comments

Comments
 (0)