오늘은 깔끔한 파이썬 코드 작성을 위한 코딩 컨벤션 중 네이밍 컨벤션에 대해 알아보자.
1. PEP 8
첫 번째로 파이썬 코딩 컨벤션 공식(?) 문서인 PEP8의 네이밍 컨벤션은 다음과 같다.
1) 모든 글자는 ASCII여야 한다.
2) Module 이름은 모두 소문자여야 하고 짧은 이름이 좋다.
3) Class 이름은 PascalCase를 따른다.
- PascalCase: 새로운 단어 첫글자는 대문자, 나머지는 소문자
4) 상수는 대문자여야 한다.
5) 함수, 메소드, 변수 이름은 소문자여야 한다.
6) 메소드의 첫 번째 아규먼트는 self (소문자)여야 한다.
7) 클래스 메소드의 첫 번째 아규먼트는 cls (소문자)여야 한다.
8) 클래스에서 private attribute은 언더스코어(_)로 시작해야 한다.
9) 클래스에서 public attribute은 언더스코어로 시작하면 안된다.
아래 사이트에 가면 원문을 볼 수 있다.
https://www.python.org/dev/peps/pep-0008/#naming-conventions
2. 네이밍 컨벤션
PEP8에 추가적으로 깔끔한 코드를 쓰기 위한 네이밍 컨벤션을 소개한다.
1) 변수명은 너무 짧으면 안된다.
- 한 글자나 두 글자는 피하는 것이 좋음 (for문에 i, j, k나 x, y 좌표는 제외)
- 과한 줄임말은 금지 (ex: com => computation, computer, communication {o})
- 한 단어로 된 모호한 변수명 금지 (ex: start, 어떤 start인지 모호 => start_computation)
2) 변수명은 필요한 만큼만 길어야 한다.
- 변수명은 변수에 대한 설명을 해야하지만 너무 장황하거나 당연한 설명을 할 필요는 없음
- 불필요한 prefix 금지 (ex: Person 클래스에서 키를 담기 위한 변수는 person_height가 아닌 height로도 충분)
- is, has는 가독성에 도움이 되는 prefix임 (ex: key => is_key)
- 이름에 단위를 포함하는 것도 도움이 됨 (ex: height_cm)
- 숫자 prefix는 지양 (ex: num1, num2 => num_person, num_class)
3) 나중에 검색하기 쉽도록 변수명을 정해야 한다.
- ex: num => num_apple
4) 변수명은 누구나 이해할 수 있는 것이 좋다.
- 농담 등의 특정 배경지식을 필요로 하는 이름은 지양
5) 파이썬에서 이미 쓰고 있는 이름은 피해야 한다.
- 파이썬에서 실수로 오버라이트 하기 좋은 빌트인 변수들
# all, any, date, email, file, format, hash, id, input, list, min, max, object, open, random, set, str, sum, test, type
혼자서 코딩하거나 코테 연습을 할 때는 변수 이름을 막 지어버리는 경우가 있다. 나중에 필요할 때 이름 잘 정하면 되지, 라고 생각하지만 한번 습관 들면 잘 안고쳐진다. 번거롭더라도 네이밍 컨벤션을 지키자.
모두 즐거운 코딩!
'Data Engineering > 파이썬' 카테고리의 다른 글
파이썬 *args, **kwargs (파이썬 클린 코드 #4) (0) | 2022.10.18 |
---|---|
파이썬 String 합치기, String concatenation, join 함수 (파이썬 클린 코드 #3) (0) | 2022.10.12 |
파이썬 올바른 딕셔너리 사용법: get, setdefault, defaultdict (파이썬 클린 코드 #2) (0) | 2022.10.10 |
파이썬 enumerate, with, is, R-String, F-String (파이썬 클린 코드 #1) (0) | 2022.10.07 |
환경변수란? 환경변수 설정(윈도우, 맥OS, 리눅스) (0) | 2022.10.06 |
댓글