Python Formatter(Black) 설정 및 테스트
2024. 11. 4. 20:38ㆍPython
프로젝트에 Black을 설정하며 장단점과 필요한 설정을 정리한 문서입니다.
Black
- 기능: 코드 포매터로, 코드 스타일을 자동으로 정리합니다.
- 주요 목적: 코드 스타일 일관성 유지.
- PEP8을 완벽 준수하기 때문에 코드 가독성이 낮아질 수 있음. 때문에 프로젝트 별 추가 설정을 하는걸 추천.
- 설치 및 사용: https://pypi.org/project/black/
black
The uncompromising code formatter.
pypi.org
설치
pip install black
사용 예시
black . # 전체 수정
black /apps/ # 특정 디렉토리 수정
black /apps/test.py # 특정 파일만 수정
black --diff /apps/test.py # 파일 변경사항만 확인
black --diff --color /apps/test.py # 파일 변경을 git commit 변경사항처럼 확인
Black 설정 및 테스트
1. 프로젝트 최상위 디렉토리에 pyproject.toml 생성
[tool.black]
line-length = 150
skip-string-normalization = true
2. 테스트
- 라인 길이 150 설정, 싱글쿼터 미변경처리
- file 필드는 150을 넘지 않기때문에 한줄 처리
- 라인 길이 150 설정, 싱글쿼터 변경처리
- file 필드는 150을 넘지 않기때문에 한줄 처리
- teacher 필드는 싱글쿼터(')를 더블쿼터("")로 변경
- 라인 길이 80 설정, 싱글쿼터 변경처리
- file 필드는 80을 넘기때문에 줄바꿈 처리
- teacher 필드는 싱글쿼터(')를 더블쿼터("")로 변경
Black format 적용 예외 처리
# fmt: off
teacher = ForeignKey("teacher.Teacher", related_name="call_recording_file", null=True, on_delete=CASCADE,)
file = FileField(verbose_name="file path", upload_to=file_upload_path, null=True, max_length=250)
file_md5 = UUIDField(verbose_name="file md5", blank=True, null=True)
# fmt: on
관련 글
[Python] Python Tool(보안, 코드 품질, 스타일, 테스트)
코드 스타일 및 품질 검사 ToolFlake8기능: PEP 8 코딩 스타일 준수 여부를 검사하고, 일부 코드 품질 문제(예: 사용되지 않는 변수)를 발견합니다.주요 목적: 코드 스타일 및 기본적인 코드 품질 유지
hunstory.tistory.com
'Python' 카테고리의 다른 글
lambda 를 활용한 클래스 참조 문제 해결 (0) | 2025.02.21 |
---|---|
Pydantic 효과적인 사용 방법 (0) | 2025.01.10 |
[Python] Python Tool(보안, 코드 품질, 스타일, 테스트) (0) | 2024.09.11 |
pypi 패키지 등록 방법 (0) | 2024.08.06 |
Python 휴일 찾기 2 (1) | 2024.04.26 |