Skip to content

2.08. 내용정리: 8일차

흔한 찐따 edited this page Mar 20, 2022 · 7 revisions

프로그래밍 명명 규칙과 표기법

  • 프로그래밍 언어마다 변수와 함수, 클래스를 정의하는 방법론이며, 가독성을 위해 고안된 일종의 암묵적인 규칙이다.
  • 파이썬에서는 PEP8 이라는 암묵적 프로그래밍 규칙을 따른다.

카멜 표기법 (Camel Case)

  • 표기법이 마치 카멜(낙타)의 혹처럼 생겼다고 해서 붙여진 명명 규칙이며, JAVA 프로그래밍 언어에서 주로 사용되는 명명 규칙이다.
  • 첫번째 단어는 소문자로 시작하며 두번째 단어부터는 대문자로 구분한다.

예시

def lifeIsShort():
    return 'Life is short'

myMessage = lifeIsShort()
print(myMessage)

파스칼 표기법 (Pascal Case)

  • 카멜 표기법에서는 첫번째 단어가 소문자로 시작했다면, 파스칼 표기법은 카멜 표기법과는 달리, 첫번째 단어도 대문자로 시작한다.
  • 카멜 표기법에서 첫번째 단어를 포함한 모든 단어를 대문자로 시작하기 때문에 어퍼-카멜 케이스(Upper-Camel Case) 라고도 한다.
  • 주로 많은 객체지향 언어에서 클래스를 정의할 때 표기하는 방식이다.

예시

def LifeIsShort():
    return 'Life is short'

MyMessage = LifeIsShort()
print(MyMessage)

헝가리안 표기법 (Hungarian Notation)

  • 헝가리안 표기법은 C언어 진영에서 주로 사용했던 방식이며, 해당 표기법의 제안자인 찰스 시모니가 헝가리인이라서 붙인 명칭이다.
  • 표기하는 방식은 변수명 앞에 자료형(타입)을 붙이는 것이다.
  • C언어는 그 어떤 언어보다 사용자가 정의를 하는 스타일이기 때문에 자료형이 명확한 것이 매우 중요하기 때문에 자주 사용되었다.
  • 그러나 해당 표기법은 가독성이 많이 떨어져 최근에는 권장하지 않는 방식이라고 한다.

예시

intNumber = 10
floatNumber = 3.14
strMessage = 'Life is short'

print(intNumber)
print(floatNumber)
print(strMessage)

스네이크 표기법 (Snake Case)

  • 땅바닥을 기어다니는 뱀의 모습을 따온 것으로 단어는 모두 소문자로 쓰되, 단어간의 구분은 밑줄( _ )로 대체를 하는 방식이다.
  • 최근 이 방식을 C , C++ , Python , R 등에서 사용하고 있으며, JAVA 쪽도 몇몇 부분(전역변수나 상수 등)은 다른 언어랑 구분하기 위해서 스네이크를 쓰기도 한다. (다만 다른점은 대문자를 쓴다는 정도의 차이)

예시

def life_is_short():
    return 'Life is short'

my_message = life_is_short()
print(my_message)

파이썬 코딩 스타일: PEP8

  • 프로그래밍을 하다 보면 프로그래머마다 코딩 스타일이 다를 수 밖에 없어 여러 사람들끼리 공유를 해야 하는 경우에 혼란이 발생할 수 있다.
  • 파이썬에서는 이러한 경우를 미연에 방지하기 위해서 PEP8 이라는 암묵적 규칙을 제시하고 있다.
  • 파이썬 공식 문서에서의 코딩 스타일에서 확인할 수 있다.

PEP8

  • 들여 쓰기에 4-스페이스를 사용하고, 탭(Tab)을 사용하면 안 된다.
    • 4개의 스페이스는 작은 들여쓰기(더 많은 중첩도 허락)와 큰 들여쓰기(읽기 쉽다) 사이의 좋은 절충안이다.
    • 탭은 혼란을 일으키고, 없애는 것이 최선이다.
  • 79자를 넘지 않도록 줄 바꿈을 해야 한다.
    • 이것은 작은 화면을 가진 사용자를 배려하는 것이며, 큰 화면에서는 여러 코드 파일들을 나란히 볼 수 있게 한다.
  • 함수, 클래스, 함수 내의 큰 코드 블록 사이에 빈 줄을 넣어 분리해야 한다.
  • 가능하다면, 주석은 별도의 줄로 넣는다.
  • 독스트링(Docstring)을 사용하는 것이 좋다.
  • 연산자들 주변과 콤마 뒤에 스페이스를 넣고, 괄호 바로 안쪽에는 스페이스를 넣으면 안 된다.
    • 예시: a = f(1, 2) + g(3, 4)
  • 클래스와 함수들에 일관성 있는 이름을 붙여야 한다.
    • 관례는 클래스의 경우 UpperCamelCase (Pascal Case), 함수와 메서드의 경우 lowercase_with_underscores (Snake Case) 로 작성한다.
    • 첫 번째 메서드 인자의 이름으로는 항상 self 를 사용한다.
  • 만약 소스 코드를 국제적인 환경에서 사용하려고 한다면(ex. GitHub 혹은 공동 작업 프로젝트 등) 특별한 인코딩을 사용하면 안 된다.
    • 어떤 경우에도 파이썬의 기본이 최선이다. ( UTF-8 , 또는 단순 ASCII )
    • 마찬가지로, 다른 언어를 사용하는 사람이 코드를 읽거나 유지할 약간의 가능성만 있더라도, 식별자에 ASCII 이외의 문자를 사용하면 안 된다.

흔한 찐따

안녕하세요, 흔한 찐따 입니다.

Clone this wiki locally