Wikify: Auto-consolidate redundant/similar knowledge base files

This commit is contained in:
Antigravity Agent
2026-05-02 23:59:27 +09:00
parent 9981d83a4d
commit 303b01b228
1369 changed files with 33533 additions and 33429 deletions
+26 -18
View File
@@ -1,21 +1,34 @@
---
id: P-REINFORCE-WIKI-DEV-DRY
title: "DRY 원칙과 지식의 단일 표현 (Don't Repeat Yourself)"
category: Unified
status: verified
canonical_id: ""
aliases: ["DRY", "Don't Repeat Yourself", "중복 제거", "단일 진실 공급원", "SSOT"]
duplicate_of: ""
source_trust_level: A
confidence_score: 1.0
tags: ["Design_Principles", "Clean_Code", "Refactoring", "Efficiency", "Technical_Debt"]
raw_sources: ["Datacollector_Export_2026-05-02"]
last_reinforced: 2026-05-02
github_commit: ""
tags: [auto-consolidated, technical-documentation]
title: [[DRY 원칙과 지식의 단일 표현 (Don't Repeat Yourself)]]
last_updated: 2026-05-02
---
# [[DRY 원칙과 지식의 단일 표현 (Don't Repeat Yourself)]]
## 📌 Brief Summary
> "중복은 모든 악의 근원이다." 시스템 내부의 모든 지식은 단 한 번만, 단 하나의 명확한 형태로 존재해야 한다는 원칙이다.
## 📖 Core Content
- **Core [[goal|goal]]**: 유지보수성 향상. 기능을 수정할 때 여러 곳을 고쳐야 한다면 반드시 실수하게 되어 있다.
- **Beyond Code**: 단순히 '복사-붙여넣기' 코드를 줄이는 것뿐만 아니라, DB 스키마, 테스트 케이스, 문서화 등 프로젝트 전반의 정보 중복을 제거하는 것을 포함한다.
- **Mechanisms**: 함수화, 클래스화, 모듈화, 상수 관리 등을 통해 구현한다.
## ⚖️ Trade-offs & Caveats
- DRY를 맹신하면 '성급한 추상화(Premature Abstraction)'에 빠지게 된다. 모양만 같고 '의미(Semantics)'가 다른 두 코드를 억지로 합치면, 나중에 각자의 비즈니스 로직이 달라질 때 코드가 꼬여버린다. 이럴 때는 차라리 중복을 허용하는 'WET(Write Everything Twice)'가 나을 수도 있다.
## 🔗 Knowledge Connections
- [[Separation_of_Concerns]]: 중복을 제거하기 위해 코드를 어떤 기준으로 나누어야 하는지에 대한 원칙.
- [[SOLID_Principles]]: 중복 제거와 설계의 건전성을 동시에 확보하기 위한 5대 원칙.
- [[Technical_Debt]]: DRY 원칙을 무시했을 때 발생하는 유지보수 비용의 총칭.
---
- Related: Clean-Code , [[Modular-Programming|Modular-Programming]]
- Contrast: YAGNI-Principle
## 1. 개요
DRY(Don't Repeat Yourself) 원칙은 "시스템 내의 모든 지식은 단일하고, 명확하며, 신뢰할 수 있는 표현을 가져야 한다"는 소프트웨어 개발의 핵심 원칙이다. 이는 단순히 코드의 텍스트가 겹치는 '구문적 중복'을 넘어, 비즈니스 규칙이나 데이터 모델링 등의 '지식의 중복'을 제거함으로써 시스템의 복잡성을 낮추고 변경 시의 일관성을 보장하는 것을 목표로 한다.
@@ -35,12 +48,7 @@ DRY(Don't Repeat Yourself) 원칙은 "시스템 내의 모든 지식은 단일
- **우연한 중복(Accidental Duplication)**: 모양은 같지만 비즈니스적 의미가 다른 두 코드를 억지로 하나로 묶으면, 향후 두 로직이 서로 다른 방향으로 진화할 때 강결합으로 인한 유지보수 대란 발생 가능.
- **가독성과의 충돌**: 지나친 추상화는 코드를 직접적으로 읽는 것을 방해할 수 있다. 때로는 약간의 중복이 과도한 추상화보다 더 명확하고 단순할 때가 있음.
## 5. 지식 연결 (Related)
- [[Separation_of_Concerns]]: 중복을 제거하기 위해 코드를 어떤 기준으로 나누어야 하는지에 대한 원칙.
- [[SOLID_Principles]]: 중복 제거와 설계의 건전성을 동시에 확보하기 위한 5대 원칙.
- [[Technical_Debt]]: DRY 원칙을 무시했을 때 발생하는 유지보수 비용의 총칭.
## 🧪 검증 상태 (Validation)
- **정보 상태**: 검증 완료 (Verified)
- **출처 신뢰도**: A
- **검토 이유**: 시스템의 일관성을 유지하고 변경에 기민하게 대응하기 위한 지식 관리 및 중복 제거 표준 정립.
- **검토 이유**: 시스템의 일관성을 유지하고 변경에 기민하게 대응하기 위한 지식 관리 및 중복 제거 표준 정립.