본문 바로가기
Python

black을 사용하면 코드 포맷팅, 컨밴션 통일이 가능하다고?

by Lee David 2022. 8. 6.
반응형

Code Convention

개발자라면 기획, 설계, 운영 등 여러가지 일을 할줄 알아야 하지만 메인으로 잘 해야만 하는 코딩을 하다보면 내 코드가 깔끔하다고 말 할 수 있을까? 라고 되묻곤 합니다.

이러는 사이에 협업을 통한 서로의 소통이 필요하고 괄호의 들여쓰기 변수들의 나열 등등 서로 맞춰야만 깔끔하고 서로 보기 좋은 코드를 짜고 하나의 프로젝트로 합쳐졌을때 나오는 이슈들에 대한 트레킹이 쉬워집니다.

그때문에 나온 단어가 Code Convention이며 각각의 개발 언어마다 스타일이 조금씩은 다르지만 한개의 프로젝트내에서 java 진영의 경우 들여쓰기 시작 중괄호의 위치 함수 파라미터의 띄어쓰기 등 약속을 하고 개발을 진행하게 됩니다.

 

그럼 파이썬 진영에서는?

파이썬을 접하고 문법 공부할때만 하더라도 들여쓰기만 잘하면 된다는 생각으로 개발을 진행했지만 Django 스터디를 시작하면서 java처럼 Code Convention이 눈에 보이기 시작했고 그러다 "BLACK"이라는 코드 포맷터를 알게 되었습니다.

 

그래서 Black이 뭔데?

쉽게 말하자면 Python Code Convetion을 일정하게 유지시켜주는 플러그인 개념의 툴입니다.

python 커뮤니티에서 가장 많이 사용하는 코드 포맷터에 속하며 처음에 사용했을때는 강제적인 변환으로 조금 어지럽다고 생각이 들었지만 여러사람이 같이 프로젝트를 수행할때에는 개발 이후에 이루어지는 소모적인 코드 포맷팅 작업 때문에 내 멘탈 관리(?)를 맡길수 있다는 장점이 있다고 생각됩니다.

특히 Pycharm을 사용할때에 Watcher라는 설정에서 black을 지정해 주고 명령어 사용 한번으로 모든 파이썬 파일들의 코드 포맷팅 작업을 한번에 끝낼 수 있습니다.

설정 이후에 간단한 커맨드로 실행이 가능합니다.

black .

너무 툴에 맡기게 되면 python 코드에 대한 이해가 떨어질수 있다고 하지만 저와 같이 파이썬을 접한지 얼마 안된 입장에서는 기본으로 알고 개발을 하다보면 다른 개발자와의 협업에서 기본적인 리소스 소모를 최소화 할 수 있다고 생각됩니다.

반응형