파이썬을 처음 공부하는 것은 아니지만, 누군가가 정해준 커리큘럼에 따라 강의를 듣는것은 내가 블로그나 공식홈페이지의 메뉴얼을 찾아보면서 공부하는 것 보다는 많은 정보를 접할 수 있다.

그 중에 하나가 강의중에 접했던 "카멜 표기법"이나 "스네이크 표기법"이다. 이런것을 네이밍 컨벤션(naming convention) 이라 부르고 있다.

네이밍 컨벤션을 사용하는 이유

예전에는 이런 변수 명명규칙을 배웠는지 잘 기억나지 않지만, 경험에 비추어 보면 다른 누군가 만든 코드를 분석할 때면, a, b 같은 간단한 변수명을 쓴 코드는 이해하기도 어렵고 고치기도 쉽지 않다.

위키백과에 보면 다음과 같은 이유로 네이밍 컨벤션을 사용한다고 한다.

  • 소스코드를 읽고 이해하는데 필요한 노력을 줄일 수 있다.
  • 코드 검토가 구문 및 명명 표준보다 더 중요한 문제에 집중할 수 있도록 한다.
  • 코드 품질 검토 도구가 구문 및 스타일 기본 설정 이외의 중요한 문제에 집중할 수 있도록 한다.

즉, 가독성을 높이기 위함이다.

네이밍 컨벤션의 종류

카멜 표기법

  • 첫 글자는 대문자 입니다.
  • 단어의 하나 이상의 문자도 대문자로 표시됩니다.
  • 단어가 대문자로 끝나지 않습니다. (ex. CamelCasE)
  • 두 개의 대문자는 바로 뒤에 올 수 없습니다. (ex. CamelCAse)
  • 숫자를 사용하지 않습니다.
  • 점(.)이나 대시(-), 밑줄(_)같은 문자를 없습니다. (ex. Camel_Case)
  • 강조 형식의 외국어는 없습니다. (ex. CämélCáße)

첫 문자가 대문자로 시작되는 Upper Camel Case(Pascal Case)로 불리우며, 소문자로 시작되면 Lower Camel Case라고 한다.

Upper Camel Case(Pascal Case)의 예
ThisIsAnExampleOfTheUpperCamelCaseForm

Lower Camel Case의 예
theFirstLetterIsNotCapitalizedAndEachWordThroughoutIs

스네이크 표기법

  • 모든 문자는 소문자 입니다.
  • 문장의 모든 공백은 밑줄(_)로 채워넣습니다.
  • 모든 문장부호는 제거됩니다.

Snake Case의 예
“This is a sample sentence” -> this_is_a_sample_sentece

헝가리안 표기법

  • 접두어를 사용하는 표기법
  • 형식은 camelCase와 같지만, 맨 앞의 단어가 자료형을 나타내는 접두어임

Microsoft Windows 사업부가 명명 규칙을 채택하면서 실제 데이터 유형을 명명에 사용했으며 이 규칙은 Windows API 를 통해 널리 보급되었습니다.

접두어특징예시
bbooleanbBusy
ch문자chInitial
c개수cApples
fflag or 실수fBusy
n정수나 개수nSize
i정수나 색인iSize
dbdoubledbPi
sz문장szLastName
st시간stTime

레퍼런스

profile
다시 도약하려 노력해보자

0개의 댓글