1. 이름 스타일 구분
| 형식 | 예시 | 의미 |
|---|---|---|
| snake_case | get_adapter |
파이썬 기본 함수/변수 명명법 |
| camelCase | callModel |
JS·Java 스타일. 파이썬에선 권장되지 않음. |
| PascalCase | OpenAIAdapter |
클래스명 권장 스타일 |
| _single_leading_underscore | _getTemplate, _run |
내부(비공개) 함수나 변수. 외부에서 직접 접근하지 말라는 신호. |
| single_trailing_underscore_ | class_, async_ |
파이썬 예약어(class, async)와 충돌 피할 때 사용. |
| __double_leading_underscore | __init__, __call__ |
이름 맹글링(name mangling)용. 상속 시 충돌 방지. |
| double_leading_and_trailing | __init__, __str__ |
파이썬이 특별히 인식하는 magic method (내장 동작용). 직접 정의할 때만 사용. |
2. 사용 의도별 구분
| 목적 | 예시 | 설명 |
|---|---|---|
| 공개 API | call_model() |
외부 모듈이나 사용자에게 제공되는 진입점. |
| 내부 헬퍼 | _load_prompt() |
모듈 내부에서만 쓰는 보조 함수. |
| 클래스 기본 동작 재정의 | __init__, __repr__ |
객체 초기화, 문자열화 등 파이썬이 자동 호출. |
| 상속 보호용(private) | __something |
하위 클래스에서 실수로 덮어쓰는 것 방지. |
3. 정리
_→ “이건 내부용”__name→ “이건 상속 간섭도 막고 싶음”__name__→ “파이썬 시스템용 특별 메서드”- 카멜(
callModel)은 일관성을 위해 snake로 바꾸는 게 좋음 →call_model.