오늘은 깔끔한 파이썬 코드 작성을 위한 코딩 컨벤션 중 네이밍 컨벤션에 대해 알아보자.
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
PEP 8 – Style Guide for Python Code | peps.python.org
PEP 8 – Style Guide for Python Code Author: Guido van Rossum , Barry Warsaw , Nick Coghlan Status: Active Type: Process Created: 05-Jul-2001 Post-History: 05-Jul-2001, 01-Aug-2013 Table of Contents This document gives coding conventions for the Python co
peps.python.org
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 |
댓글