1. 이름 스타일 구분

형식 예시 의미
snake_case get_adapter 파이썬 기본 함수/변수 명명법
camelCase callModel JS·Java 스타일. 파이썬에선 권장되지 않음.
PascalCase OpenAIAdapter 클래스명 권장 스타일
_single_leading_underscore _getTemplate_run 내부(비공개) 함수나 변수. 외부에서 직접 접근하지 말라는 신호.
single_trailing_underscore_ class_async_ 파이썬 예약어(classasync)와 충돌 피할 때 사용.
__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.