본문 바로가기

파이썬(Python)/간단한 연습

파이썬 함수명과 변수명 분리해서 잘 짓는 방법: 함수명은 동사로 시작하고, 변수명은 명사로 시작하기.

파이썬은 PEP8 규칙에 따라, 함수명과 변수명 둘다 영어소문자a to z 와 언더바_ 와 숫자 0~9 만 쓴다.

문제는 함수명과 변수명의 표기에 영어대문자를 쓰지 않도록 권장하기 때문에 대충 지었다가는 이 단어가 함수인지 변수인지 헷갈릴 수 있다.

 

그래서 둘을 읽을때부터 잘 구분하는 식별자 같은걸 어떻게 넣는지 궁금했다.

 

그러나 How to make a good name of function name and variable name

이런걸 쳐봐도 좋은 예제를 보여주면서 요령(노하우, know-how)을 알려주는 사람이 딱히 없었다.

 

다행히 이 분이 괜찮은 예문을 적어두었다.

https://dkje.github.io/2020/08/03/CleanCodeSeries2-copy/

 

2. 변수명과 함수명 짓기 - 어? 쓰흡... 하아.... | Dev X

 

dkje.github.io

 

함수는 get, take 등 (쉬운)동사로 시작하는 구문을 만들어 쓰고, 변수는 명사로 시작하는 구문을 만들어 쓰면 헷갈림은 쉽게 해결된다. 아래의 예제처럼 쓴다.

  • 함수(동사V로 시작): get_number_1, get_number_2, ...
  • 변수(명사N로 시작): number_1, number_2, ...

 

아니면 어떤 분의 코딩스타일처럼, 헝가리안 표기법을 변형해서 써도 괜찮다.

f_function_name 이런식으로 함수식별자 f_로 시작하면 찾기가 쉽다.  추천하는 방식은 아닌듯하지만, 함수인지 아닌지는 눈에 확 들어온다.

f_가 너무 짧으면 ftn_ 이나 fn_ 도 괜찮다.

 

그 밖에

  • 그리고 get_items 처럼 복수형 표기 s 는 아예 안 쓰거나, 모두 붙이거나 해야 한다. 썼다 안썼다 섞으면. 나중에  s가 붙는지 안 붙는지 은근히 헷갈린다. 물론 IDE 보조도구 등을 잘 쓰면 상관없겠지만.
  • 변수이름 지을때 a, x 이런거는 진짜로 잠깐 쓰고말 때 짓고, 가능하면 aaa 나 asdf 이따위로 짓더라도, 충분히 길게 못해도 2글자는 지어야 한다. 안 그러면 변수 일괄변경할때 개털린다.
    예를들어 반복변수를 itr 로 안적고 i 로 적었다가 나중에 이 i를 바꾼답시고 ctrl+F2 / ctrl+shift+L 로 itr 로 바꾸는 순간 내부의 if 가 전부 itrf 로 바뀐다. 뭐 나중에 itrf를 if 로 바꿔주면 된다만은.