Files
llm-wiki/.agents/plugins/wiki-superpowers/rules/diagram-standards/anti-patterns.md
T

36 lines
2.3 KiB
Markdown

# Diagram Anti-patterns + 컨퍼런스급 사례
Root SSOT: [`rules/diagram-standards.md`](../../../../../rules/diagram-standards.md) §15~§16
parent: [`README.md`](README.md)
## §15. Anti-patterns — 절대 금지
| 안티패턴 | 증상 | 고치는 법 |
|---|---|---|
| **Kitchen sink** | 모든 정보를 다이어그램에 몰아넣음 (vertex 15+, edge 12+, callout 3+) | 분할 또는 본문으로 정보 이동 |
| **Color salad** | 모든 박스에 색 칠함. 색이 의미를 잃음 | 80% 회색/흑백, 강조 1~2개만 |
| **Legend bloat** | 사용된 모든 요소를 legend 에 → legend 가 다이어그램만큼 큼 | 표준 컨벤션은 legend 생략 |
| **Component bloat** | 박스마다 5+줄 텍스트 → 청중이 박스 하나 읽는 데 5초+ | 박스 2줄, 나머지는 본문 |
| **Edge label bloat** | 화살표마다 3줄 라벨 (QPS / latency / payload / step) | 1줄 5단어 이내 |
| **Callout salad** | 3+ callout 박스 → 어느 게 중요한지 모름 | 1개 (가장 중요한 함정만), 나머지 본문으로 |
| **Boundary nesting** | 3+ 중첩 boundary | 1~2 단계로 평면화 |
| **Numbered everywhere** | 모든 화살표에 번호 (필요 없는데도) | 순서가 중요할 때만 번호 |
| **Required-by-rule additions** | "표준이 시킨다고" 모든 칸 채움 → 필요 없는 정보 포함 | 표준의 목적은 *정보 전달*, 칸 채우기 X |
| **Scale annotation everywhere** | 모든 화살표에 QPS·latency | 다이어그램의 질문이 *성능* 일 때만 |
| **Mermaid `graph TD` 로 아키텍처** | 도구 선택 위반 | draw.io 사용 |
| **draw.io 로 시퀀스** | 도구 선택 위반 | Mermaid `sequenceDiagram` |
| **다이어그램이 본문 역할까지** | 다이어그램 안에 wikilink, 설명, 출처 다 들어감 | 다이어그램 = 시각 요약. 디테일·출처 = 본문 |
## §16. 컨퍼런스급 사례 (참고)
좋은 다이어그램의 공통점 (Toss SLASH / Kakao if(dev) / Naver DEVIEW 슬라이드 분석):
- 박스 5~8개 (10 초과 드묾)
- 박스 안 텍스트 1~2줄 (대부분 1줄)
- 화살표 라벨 1~5단어
- 색 2~3가지 (대부분 무채색 + 강조 1)
- Legend 종종 없음 (관례면 충분)
- **본문 / 발표자 설명이 다이어그램을 보강**
다이어그램은 발표자의 보조 도구 — 발표자의 입을 대체하지 않는다.