[python, drf] 코드 스타일 포매팅 black, git과 black 연동
![[python, drf] 코드 스타일 포매팅 black, git과 black 연동](https://cdn.hashnode.com/res/hashnode/image/upload/v1736517951309/4afa04e9-66ef-4aa5-a8b6-4072f5459c62.png)
Black?
python 코드 포매터
코드 스타일을 일관되게 정리해줌
설치
pip install black
실행
1. 프로젝트 전체 포매팅
black .
2. 특정 파일만 포매팅
black file.py
3. 특정 디렉토리 포매팅 - 지정한 디렉토리 내의 모든 python 파일을 정리
black path/directory
4. 수정 내용을 확인만 하기 - 포매팅이 필요한 파일을 확인만 하고 실제 수정은 안함
black --check .
5. 라인 길이 변경
black . --line-length 120
black 자동화
black을 수동으로 실행하지 않고 커밋 전에 자동으로 적용하기
1. pre-commit 설지
pip install pre-commit
2. 설정 파일 생성
프로젝트 루트에 .pre-commit-config.yaml 파일을 생성하고 아래 내용 추가
repos:
- repo: https://github.com/psf/black
rev: 24.10.0
hooks:
- id: black
3. pre-commit 설정 활성화
pre-commit install
위의 절차대로 설치하면 commit 시 black이 자동 실행되어 포매팅을 적용하고, 변경된 파일을 커밋한다.
포매팅이 필요한 파일이 있다면 자동으로 수정되고
수정된 파일이 있다면 커밋이 중단되며 다시 git add 후 커밋을 진행해야 한다.
왜 포매팅을 하는건가
코드의 가독성과 일관성을 높임
들여쓰기, 공백, 괄호등을 자동으로 정리함으로써 작은 실수 방지
유지보수와 확장성




