[python] Python coding convention(파이썬 코딩 컨벤션)

ljkgb·2021년 6월 9일
0

Python

목록 보기
17/20
post-thumbnail

Python coding convention

파이썬 코딩 컨벤션은 파이썬을 코딩할 때 사용하는 일종의 올바른 스타일 관례라고 할 수 있다. 세살 버릇 여든간다고 초반에 잘못 잡아 놓은 코딩 버릇은 시간이 지날 수록 바꾸기 어려울 것이다. 현업에 들어가기전 주요 파이썬 코딩컨벤션을 살펴보며 올바른 파이썬 코딩 스타일을 가질 수 있도록 해야겠다.


PEP8

PEP8은 파이썬의 코딩 스타일 가이드이다. 여기서 PEP는 파이썬의 개발은 파이썬 개선 제안서(Python Enhancement Proposal)의 줄인 말이다. PEP 프로세스는 새로운 기능을 제안하고 커뮤니티의 의견을 수렴하여 파이썬의 디자인을 결정을 문서화하는 파이썬의 주요 개발 프로세스를 말한다.


Style Guide for Python Code

1. Code lay-out

- 인덴트(Indent): 공백으로 4칸 들여쓰기

인덴트가 권장사항인 다른 언어들에 비해 파이썬에게 인덴트는 지켜야만 하는 대표적인 특징이라고 할 수 있다.

PEP8에서는 공백 4칸으로 들여쓰기 하는 것을 원칙으로 하고 있으며 탭 사용은 이미 탭으로 들여쓰기 된 코드와 일관성 유지를 위해서만 사용하는 것을 권장한다.

- Blank Lines: 함수 및 클래스 정의 위에는 빈 2줄

두개의 빈 줄로 함수 및 클래스 정의를 구분한다. 또한 클래스 내의 메소드 정의에는 1줄씩 빈 줄을 넣어 쓴다.

2. Whitespace in Expressions and Statements

- 불필요한 공백 넣지 않기

  • 대괄호[], 소괄호() 안
  • 쉼표(,), 쌍점(:)과 쌍반점(;) 앞

3. Comments

- 코드와 맞지 않는 주석 없도록 하기

코드 내용과 달라 내용이 맞지 않는 주석은 헷갈리지않도록 항상 최신의 코드내용 상태로 유지하도록 한다.

- 불필요한 주석 달지 않기

가독성을 오히려 떨어트린다.

- 명령문과 같은줄에 있는 인라인 주석은 많지 않도록 하기

명백한 내용을 적음으로써 더 가독성을 떨어트린다. 하지만 이해력과 가독성을 높여줄 수도 있음으로 남발하지 않도록 한다.

4. Naming Conventions

- 피해야 하는 이름

  • 'l'(소문자), 'O'(대문자) 또는 'I'(대문자) 문자를 단일 문자 변수 이름으로 사용하지 않도록 한다.(숫자 1, 0과 구별하기가 어렵기 때문)

- 이름 정하기

  • 모듈 명은 짧은 소문자로
  • 클래스 명은 카멜케이스(CamelCase)로 작성
  • 함수명은 소문자로
  • 인스턴스 메소드의 첫 번째 인수는 항상 self
  • 클래스 메소드의 첫 번째 인수는 항상 cls
  • 상수(Constant)는 모듈 단위에서만 정의, 모두 대문자

물론!


PEP8은 가이드인 만큼 무조건! 지켜야 하는 내용은 아니다. 하지만 코딩 스타일의 일관성은 중요하며 PEP8에 나와있는 것처럼
1. PEP8을 잘 알고 있는사람에게도 코드 가독성이 떨어질 경우
2. 주변 코드와의 일관성을 위해
등등
예외 사항을 제외하고는 지키면서 코딩을 해야한다.

참조
🔗 PEP 8 -- Style Guide for Python Code
🔗 파이썬 알고리즘 인터뷰

profile
🐹

1개의 댓글

comment-user-thumbnail
2022년 7월 31일

아니 면접 때문에 파이썬 찾아보다가 pep8 있어서 들어왔는데 재란 벨로그 :)

답글 달기