Black 3

Black _ Code Formatter 회피하는 방법

Black Code Formatter를 사용하는 이유는 일관된 코드 스타일을 유지함으로써 코드 가독성을 높이고 개발자들 간의 원활한 커뮤니케이션을 유도하기 위함이다. Python에서도 포맷팅 라이브러리가 있는데, 그중 Black은 대중적으로 많이 사용하는 Code Formatter 중에 하나이다. Code Formatter는 보통 '파일을 저장할 때'나 혹은 '커밋을 생성할 때' 등 자동 실행되도록 지정한다. 그런데 가끔은 Code Formatter 가 실행되지 않았으면 하는 때가 있다. 예를 들어 아래와 같은 dictionary가 있다고 가정해보자. 이를 포멧팅 하면 다음처럼 스타일이 수정된다. 포맷팅을 적용한 결과 코드라인이 13줄에서 58줄로 늘어났다... 이런 경우에는 포맷팅이 오히려 가독성을 떨..

pre-commit 에서 ‘flake8’ 과 ‘black’ 커스텀 문제

예제 코드 # setup.cfg [flake8] exclude = .git max-line-length = 88 [black] line-length = 88 flake8 과 black 에 ‘line-length’설정 값이 중복되는 것이 아니냐는 의견이 있었습니다. 우선 결론부터 말씀드리자면 둘다 있어야 한다고 생각합니다. 그 이유는 어느 한쪽을 생략한 경우, 생략한 쪽은 기본값을 채택하여 개발자가 원하는대로 작동하지 않기 때문입니다. 예를들어 위에 문서에서 flake8의 ‘max-line-length = 88’ 를 생략하는 경우 # 코드 수정 [flake8] exclude = .git # max-line-length = 88 black은 88자를 통과시키지만 flake8은 기본값인 79자를 기준으로 검사..

Linter 와 Formatter 를 사용해서 깔끔하게 코딩하자

Linter란? 소스 코드를 분석하여 프로그램 오류, 버그, 스타일 오류, 의심스러운 구조체에 표시(flag)를 달아놓기 위한 도구 Formatter란? 작성한 코드에 대해 설정된 규칙에 의해 정렬을 해주는 기능 Linter 와 Formatter 를 사용하면 저장할 때마다 내 코드를 깔끔하게 정리해준다. 또한 혹시나 잘못 작성된 코드가 무엇인지 알기 쉽게 표시해준다. 보통 가상환경 설정 후 저장을 하면 vsc에서 추가 설치를 권장하는 팝업창이 뜨는데 여기서 이러한 도구들을 설치할 수 있다. (물론 직접 pip같은 툴로 설치해도 무방) 추천하는 도구들을 소개하자면 다음과 같다. black 최근 파이썬 커뮤니티에서 가장 널리 쓰이고 있는 있는 코드 포멧터 autopep8 파이썬 코드를 PEP8 컨벤션에 맞게..