Skip to content

Commit bf07e05

Browse files
committed
1 parent eac63cd commit bf07e05

File tree

1 file changed

+18
-4
lines changed

1 file changed

+18
-4
lines changed

.handbook/dev-guidelines.md

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,16 @@
1313
| **Python** | `ruff` | 포매팅 및 린팅 |
1414

1515
- **들여쓰기**
16-
- JS/TS: 공백 2칸
17-
- Python: 공백 4칸
16+
- Python: 공백 4칸 (언어적 강제)
17+
- 그 외 언어: 공백 2칸
1818
- **네이밍**
1919
- 변수·함수: `camelCase` (JS/TS), `snake_case` (Py)
2020
- 클래스·인터페이스: `PascalCase`
2121
- 상수: `UPPER_SNAKE_CASE`
2222
- 파일: `kebab-case.ts/tsx`, `snake_case.py` (React 컴포넌트는 `PascalCase.tsx` 허용)
2323
- **기타**
2424
- 최대 라인 길이 88자
25-
- 함수 25줄 이내 유지 (함수 시작 '{'부터 끝 '}'까지의 줄 수 포함, 길어지면 리팩터)
25+
- 함수 25줄 이내 유지 (함수 시작 '{'부터 끝 '}'까지의 줄 수 포함, 길어지면 리팩터링)
2626

2727
---
2828

@@ -89,7 +89,21 @@ Ex) `✨ feat: add JWT refresh flow`
8989

9090
---
9191

92-
## 6. LLM 협업 가이드
92+
## 6. 자료형 및 메서드 선택 가이드
93+
94+
코드 성능 및 효율성을 위한 데이터 접근 패턴(읽기/쓰기 비율) 및 실행 환경(싱글/멀티스레드)에 따른 적절한 자료형과 메서드 선택.
95+
96+
* **읽기 중심 작업:** 메모리 지역성 좋은 배열/연속 메모리 구조, 불변(Immutable) 객체 활용 우선 고려 (캐시 효율 극대화 및 빠른 읽기 성능 확보).
97+
* **쓰기 중심 작업:** 삽입/삭제 빈번 또는 랜덤 쓰기 많은 경우, 링 버퍼, 로그 구조 배열, 연결 리스트 등 쓰기 비용 낮은 자료구조 고려.
98+
* **읽기/쓰기 모두 많은 경우:** 특정 시점에 쓰기용 자료형 내용을 읽기용 자료형으로 복사하여 실 사용자는 읽기용 자료형에 접근하도록 하는 전략 고려 (Copy-on-Write 패턴 등).
99+
* **싱글스레드 환경:** 락/원자 연산 오버헤드 없는 단순 자료구조 및 알고리즘 사용 (성능 최적화).
100+
* **멀티스레드 환경:** 스레드 간 경합 최소화를 위한 Concurrent 자료구조 (ConcurrentHashMap 등), 락 프리(lock-free) 기법, RCU(Read-Copy-Update) 등 동시성 제어 패턴 적극 활용.
101+
102+
**핵심:** 코드 읽기:쓰기 비율 및 스레드 환경 정확한 분석 및 적절한 자료형/메서드 선택 (효율적 코드 작성 시작).
103+
104+
---
105+
106+
## 7. LLM 협업 가이드
93107

94108
- **우선** `.handbook/` 문서 검색 후 코딩.
95109
- 정보 부족·모순 시 `Clarify needed:` 한 줄 질문.

0 commit comments

Comments
 (0)