«   2018/08   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
Tags
more
Archives
Today
0
Total
1,345
관리 메뉴

피아노 치는 개발자

[python] 코딩 컨벤션 PEP8 본문

개발/일반

[python] 코딩 컨벤션 PEP8

Claude.Seo 2016.11.11 15:20

나는 여태까지 개인 프로젝트를 진행할 때는 변수명, 가독성 등을 고려하지 않고 개발해왔었다.

최근에 다른 프로그래머들과 함께 협업하며 개발하다 보니 컨벤션의 중요성에 대해 깨닫게 되었다.

이번 포스팅에서 코딩 컨벤션이 무엇인지, 파이썬에서는 어떤 기준이 있는지에 대해 알아보고 프로젝트에 적용해보려고 한다.



Coding Convention

코딩 컨벤션(혹은 코딩 스타일 가이드라인이라고 함)은 프로그래머들 사이에서 코드를 어떻게 작성할 것인지에 대한 약속이다. 

간단하게 예를 들자면 들여쓰기는 탭으로 할 것인지 혹은 스페이스로 할 것인지, 변수명은 어떠한 방법으로 정의할 것인지 등이 있다. 


프로젝트를 혼자 담당하여 개발하고 끝까지 유지 보수할 경우 컨벤션을 지키지 않더라도 유지 보수할 수 있으므로 크게 상관이 없다.

하지만 처음부터 코드를 작성했던 사람이 끝까지 유지보수를 할 확률은 굉장히 낮다. 따라서 최초 코드 작성자가 아닌 다른 사람들도 코드를 빠르고 쉽게 이해하고 유지 보수하기 위해서 코딩 컨벤션이 필요하다. 

통일된 기준으로 작성된 코드는 코드의 품질을 높여줄 뿐만 아니라 유지보수 비용이 절감되고 업무 효율을 높여준다. 

특히 같은 프로젝트를 진행하는 멤버들은 같은 코딩 컨벤션으로 코드를 작성해야 한다. 이는 프로젝트 멤버들 사이의 코드 공유를 쉽게 만들고 일관성 있는 코드를 작성하게 해주며 컨벤션에 의해 서로 물어보거나 지적할 일이 사라지게 한다.



PEP

PEP (Python Enhance Proposal)은 이름 그대로 파이썬을 개선하기 위한 제안서로서 3가지로 분류된다

- Standard Track : 새로운 기능이나 구현을 제안

- Informational : 파이썬의 디자인 이슈나 일반적인 지침을 제안

- Process : 파이썬 커뮤니티에 정보를 제안


위의 제안서 중에서 PEP8은 파이썬 커뮤니티에 정보를 제안하는 Process에 해당된다.

PEP에 좀 더 자세한 사항은 PEP, PEP1에서 확인할 수 있다.



PEP8: 코딩 컨벤션

PEP8의 코딩 컨벤션을 간단히 요약하자면 아래와 같다

1. 한 줄에 코드는 최대 79자까지 작성한다

2. 들여쓰기는 공백 4칸으로 한다.

3. 최상위 함수와 클래스 정의는 2줄씩 띄어 쓴다.

4. import는 표준 라이브러리, 서드 파티, 로컬 라이브러리 순으로 한다.

5. 파일은 UTF-8 혹은 ascii로 인코딩한다

6. 대괄호, 중괄호, 소괄호 사이에 불필요한 공백은 추가하지 않는다


자세한 사항은 PEP8에서 확인할 수 있다.



PyCharm에서 PEP8 설정

파이썬 IDE중 가장 좋다고 생각하는 PyCharm 에서 PEP8 설정하는 방법을 알아보자

( 개발 환경이 맥북 프로밖에 없는 관계로 설명은 맥 기준으로 합니다 )

1. 환경 설정 ( command ⌘ + 쉼표(,) ) 을 연다

2. PEP8을 검색한다

3. 검색된 목록들을 활성화 한다

PEP8을 검색한 후 나온 목록들을 활성화 시킨다.



코딩 컨벤션이 무엇인가? PEP8가 무엇인가? 에 대해 간단히 알아보았으니 다음 포스팅에서는 자세히 알아보도록 하자


참고) 작성한 코드가 PEP8 컨벤션을 준수하였는지 검사하는 PEP8 라이브러리도 있으니 사용하면 좋다.

참고) 프로젝트 전체를 컨벤션 검사하는 코드: https://github.com/SeoDongMyeong/pep8

0 Comments
댓글쓰기 폼