feat: Wiki 지식 자산 업데이트 - UX Scenarios, Frontend, Game Design, Topics 추가 [2026-05-08]
This commit is contained in:
@@ -1,26 +1,28 @@
|
||||
---
|
||||
id: P-REINFORCE-WIKI-AD5C5A5E
|
||||
title: "코드베이스 읽기 지식"
|
||||
category: Unified
|
||||
status: draft
|
||||
canonical_id: ""
|
||||
aliases: []
|
||||
duplicate_of: ""
|
||||
id: wiki-2026-0508-코드베이스-읽기-지식
|
||||
title: 코드베이스 읽기 지식
|
||||
category: 10_Wiki/Topics
|
||||
status: needs_review
|
||||
canonical_id: self
|
||||
aliases: [P-REINFORCE-WIKI-AD5C5A5E]
|
||||
duplicate_of: none
|
||||
source_trust_level: A
|
||||
confidence_score: 0.95
|
||||
tags: ['코드베이스 읽기 지식']
|
||||
raw_sources: ["Datacollector_MAC/out_wiki/코드베이스 읽기 지식.md"]
|
||||
tags: [코드베이스 읽기 지식]
|
||||
raw_sources: [Datacollector_MAC/out_wiki/코드베이스 읽기 지식.md]
|
||||
last_reinforced: 2026-05-02
|
||||
github_commit: ""
|
||||
github_commit: pending
|
||||
tech_stack:
|
||||
language: unspecified
|
||||
framework: unspecified
|
||||
---
|
||||
|
||||
# [[코드베이스 읽기 지식]]
|
||||
|
||||
## 📌 Brief Summary
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
코드베이스 읽기 지식은 대규모 소프트웨어 시스템이나 복잡한 코드 뭉치의 구조, 논리, 설계 의도를 효율적으로 파악하고 해석하는 전략적 인지 활동이다 [1]. 이는 단순히 코드를 텍스트로 읽는 것을 넘어 하향식 및 상향식 탐색, 아키텍처 스타일 및 디자인 패턴의 식별, 버전 관리 이력의 맥락 파악 등을 포괄한다 [1-4]. 새로운 프로젝트에 온보딩하거나 레거시 시스템을 유지보수할 때 전체 시스템을 한 번에 파악하기보다는 진입점 식별부터 작은 버그 수정, AI 도구 및 시각화 다이어그램을 활용한 점진적인 접근이 요구된다 [5-8].
|
||||
|
||||
## 📖 Core Content
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
* **하향식(Top-Down)과 상향식(Bottom-Up) 탐색 전략**
|
||||
* **하향식 접근법:** 공용 API, UI 라우터, CLI 진입점 등 외부와 소통하는 최상위 계층에서 시작하여 점진적으로 내부 구현으로 진입하는 방식이다 [1, 2]. 시스템 전체의 기능과 사용자 가치 사슬을 파악할 때 유리하다 [2].
|
||||
* **상향식 접근법:** DB 스키마, 외부 API 클라이언트 등 데이터가 도달하는 최하단에서 시작해 이를 호출하는 상위 함수를 역추적하는 방식이다 [1]. 데이터 변환이나 성능 최적화, 부수 효과를 분석할 때 주로 사용된다 [2].
|
||||
@@ -43,15 +45,14 @@ github_commit: ""
|
||||
* **탐색 도구 및 시각화:** IDE가 제공하는 기호 탐색, 사용처 찾기, 브레드크럼 등의 기능과 UML, C4 모델 기반의 코드베이스 맵(다이어그램)을 활용하여 시스템 구조를 시각적으로 이해한다 [19-22].
|
||||
* **AI 기반 분석 도구:** Qodo, CodeRabbit, GitHub Copilot, Kodesage와 같은 AI 도구들을 통해 코드베이스 전체를 쿼리하고, 자연어 문서화를 자동 생성하거나 티켓과 코드 간의 연관관계를 빠르게 파악할 수 있다 [8, 23-25].
|
||||
|
||||
## ⚖️ Trade-offs & Caveats
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & Updates)
|
||||
* **AI 도구의 환각(Hallucination) 위험:** AI를 활용해 코드베이스 인사이트나 구조 설명을 추출할 때, 코드를 제대로 이해하지 못한 채 생성된 환각 정보가 섞일 수 있다 [8, 26]. 따라서 AI의 분석 내용은 실제 소스 코드나 정적 분석 도구를 거쳐 개발자가 직접 검증해야 한다 [8].
|
||||
* **부분적 탐색의 맹점:** 상향식 혹은 하향식 중 어느 한 방향으로만 탐색을 고집할 경우, 상위 비즈니스 맥락을 놓치거나 하위 계층의 숨겨진 병목 및 기술 부채를 간과할 수 있다 [1, 2].
|
||||
* **인지적 과부하:** 시스템 전체를 완벽히 이해하고 나서 작업을 시작하려고 하면, 막대한 코드량으로 인해 인지적 마비와 시간 낭비가 발생한다 [5, 13]. 완벽함보다는 당면한 작업에 필요한 부분에 초점을 맞추는 실용적 타협이 필요하다 [12, 13].
|
||||
* **낡은 문서의 역효과:** 이해를 돕기 위해 존재하는 아키텍처 다이어그램이나 문서화 파일이 코드와 최신 상태로 동기화되지 않은 경우, 오히려 시스템을 잘못 이해하게 만들어 혼란을 가중시킨다 [27, 28].
|
||||
* **동적 분석의 환경 셋업 부담:** 중단점을 활용하거나 런타임을 분석하는 것은 높은 깊이의 이해를 제공하지만, 로컬 빌드 환경을 구축하고 테스트 데이터를 세팅하는 데 큰 초기 비용(시간 및 노력)이 든다 [16].
|
||||
|
||||
## 🔗 Knowledge Connections
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
### Related Concepts
|
||||
|
||||
#### [분석 및 탐색 전략]
|
||||
@@ -109,3 +110,40 @@ github_commit: ""
|
||||
- **기존 유사 문서:** None
|
||||
- **처리 방식:** CREATE
|
||||
- **처리 이유:** 신규 지식 체계 도입
|
||||
|
||||
## 🤖 LLM 활용 힌트 (How to Use This Knowledge)
|
||||
|
||||
**언제 이 지식을 쓰는가:**
|
||||
- *(TODO)*
|
||||
|
||||
**언제 쓰면 안 되는가:**
|
||||
- *(TODO)*
|
||||
|
||||
## 🕓 변경 이력 (Changelog)
|
||||
|
||||
| 날짜 | 변경 내용 | 처리 방식 | 신뢰도 |
|
||||
|------|-----------|-----------|--------|
|
||||
| 2026-05-08 | P-Reinforce Phase 1 정규화 (frontmatter + 헤더 표준화) | UPDATE | A |
|
||||
|
||||
## 💻 코드 패턴 (Code Patterns)
|
||||
|
||||
**패턴 1:** *(TODO: 이 프로젝트 컨벤션 반영한 구조 스켈레톤)*
|
||||
|
||||
```text
|
||||
# TODO
|
||||
```
|
||||
|
||||
## 🤔 의사결정 기준 (Decision Criteria)
|
||||
|
||||
**선택 A를 써야 할 때:**
|
||||
- *(TODO)*
|
||||
|
||||
**선택 B를 써야 할 때:**
|
||||
- *(TODO)*
|
||||
|
||||
**기본값:**
|
||||
> *(TODO)*
|
||||
|
||||
## ❌ 안티패턴 (Anti-Patterns)
|
||||
|
||||
- **[안티패턴]:** *(TODO: 무엇을 하면 안 되는가 + 이유 + 대신 무엇을)*
|
||||
Reference in New Issue
Block a user