개발일기 [Python 파이썬]

프로그래밍 언어에는 각 언어에 맞는 코드 컨벤션이 존재

neullo 2024. 2. 21. 09:15

코드 컨벤션이란?

개발을 하다 보면 한 번씩 접하게 되는 밈이 있습니다. -이 코드가 무슨 코드인지는 오직 신과 나만이 안다 그리고 이제는 오직 신만이 아신다.- -프로그램은 사람들에게 읽히기 위한 목적으로 만들어져야 하고, 우연히 컴퓨터가 실행할 수 있다면 더욱 좋다.- 실제로 개발을 하다 보면 내가 짠 코드가 1주일만 지나도 "과거의 나는 과연 무슨 생각으로 이런 코드를 짠 걸까.." 라는 생각이 들 때가 있습니다. 내가 짠 코드를 봐도 이런 생각이 드는데, 팀 프로젝트를 하며 다른 사람이 짠 코드를 볼 때는 어떨까요? 코드 컨벤션은 이러한 상황을 만들지 않게 하기 위해 스타일을 통일하자는 "약속"입니다.

파이썬에서는 [PEP-8](<https://peps.python.org/pep-0008/>)이라는 컨벤션 가이드를 제공하고 있다.

 

 

네이밍 컨벤션이란? 네이밍 컨벤션에는 대표적으로 Pascal, Snake, Camel 표기법이 존재합니다.

파이썬에서 요구하는 코드 컨벤션:

파이썬에서는 네이밍 컨벤션으로 변수 / 함수를 네이밍할 때는 Snake 표기법을, Class를 네이밍할 때는 Pascal 표기법을 사용합니다.

예를 들어 Python is very good 이라는 문장이 있을 때, 아래와 같이 사용됩니다.

  • Pascal : PythonIsVeryGood / 각 단어를 대문자로 구별합니다.
  • Camel : pythonIsVeryGood / Pascal과 동일하지만, 첫 문자가 소문자로 시작합니다. 모양이 쌍봉낙타와 비슷하게 생겼다고 해서 지어진 이름입니다.
  • Snake : python_is_very_good / 각 단어를 언더바( _ )로 구분합니다. 모양이 뱀과 비슷하게 생겼다고 해서 지어진 이름입니다.
Camel 표현식은 첫 번째 문자가 소문자로 시작하는 Lower Camel Case와 첫 번째 문자가 대문자로 시작하는 Upper Camel Case가 존재합니다. 이 때문에 간혹 Pascal과 Camel 표현법의 용어가 혼동되기도 하는데, Microsoft에서는 소문자로 시작하는 표현법만 Camel로, 대문자로 시작하는 것은 Pascal이라고 명시하고 있습니다. 더 자세한 내용은
여기서 확인할 수 있습니다.
  • 클래스, 함수, 변수 등을 네이밍할 때는 이름만 보고 해당 코드가 어떤걸 의미하는지 추측할 수 있어야 합니다.
    • PIE = 3.14 상수를 표현할 때는 예외적으로 모든 문자를 대문자로 표현합니다.
    • numbers = [1,2,3,4] list를 표기할 때는 복수로 표현한다. 혹은 number_list와 같이 표현할 수도 있습니다.
      • for number in numbers: 반복문 사용 시 가독성을 늘릴 수 있습니다.
    • def add(a, b): return a + b 함수를 네이밍할 때는 해당 함수가 어떤 역할을 하는지 표현해야 합니다.