코드로 우주평화

Black _ Code Formatter 회피하는 방법 본문

나는 이렇게 학습한다/Library

Black _ Code Formatter 회피하는 방법

daco2020 2022. 8. 19. 17:26
반응형

 

Black

 

Code Formatter를 사용하는 이유는 일관된 코드 스타일을 유지함으로써 코드 가독성을 높이고 개발자들 간의 원활한 커뮤니케이션을 유도하기 위함이다.

 

Python에서도 포맷팅 라이브러리가 있는데, 그중 Black은 대중적으로 많이 사용하는 Code Formatter 중에 하나이다.

 

 

Code Formatter는 보통 '파일을 저장할 때'나 혹은 '커밋을 생성할 때' 등 자동 실행되도록 지정한다. 그런데 가끔은 Code Formatter 가 실행되지 않았으면 하는 때가 있다. 예를 들어 아래와 같은 dictionary가 있다고 가정해보자.

 

 

이를 포멧팅 하면 다음처럼 스타일이 수정된다.

 

 

포맷팅을 적용한 결과 코드라인이 13줄에서 58줄로 늘어났다...

 

 

이런 경우에는 포맷팅이 오히려 가독성을 떨어뜨린다. 특히나 위에 예시처럼 굳이 중요한 정보들이 아닌 경우에는 더더욱 그렇다.

 

다행히도 Black은 코드 포맷팅을 회피할 수 있는 방법을 제공한다. 지금부터 함께 살펴보자

 

 

 

포맷팅 회피방법 - # fmt : off / on / skip

 

# fmt: off
--- 포멧팅을 제외할 코드 ---

# fmt: off  : 포맷팅을 끄겠다는 의미이다. 포맷팅을 제외할 코드 위에 명시한다.

 

 

--- 포멧팅을 제외할 코드 ---
# fmt: on

# fmt: on  : 포멧팅을 켠다는 의미이다. 포맷팅을 제외할 코드 아래에 명시한다.

 

 

 

위의 이미지 처럼 포맷팅을 제외할 코드 위아래에 명시하면 저 구간은 포맷팅을 회피할 수 있다. (잠시 끄고 켠다고 보면 된다)

 

 

만약 해당 코드 안에서도 특정한 라인만 포멧팅을 회피하고 싶다면 # fmt: skip을 사용할 수도 있다.

 

 

 

회피할 라인 옆에 # fmt: skip을 적는다. 그리고 포맷팅을 실행하면 아래처럼 그 부분만 스타일을 유지할 수 있다.

 

 

 

마무리

좋은 코드를 작성하기 위해 언제나 신경써야하는 것이 바로 '가독성'이다. 코드 포맷터 또한 가독성을 위해 만들어진 자동화 툴이지만 때때로 방해가 될 때가 있다. 그럴때는 높은 가독성을 유지하기 위해 포맷팅 회피 방법을 적절히 활용하자.

 

 

 

 

 

레퍼런스

 

The Black code style - Black 22.6.0 documentation

Previous The Black Code Style

black.readthedocs.io

 

 

 

 

반응형