python 쓰시는 분들 코드 스타일링은 어떻게 하시나요?
일단 코드는 아름다운게 못생긴 것보다 좋습니다. spacing, line break 등이 제각각이고, 안쓰는 코드들이 잔뜩 있는 코드와, 가지런하게 잘 정돈된 코드의 가독성의 차이는 크고, 생산성에도 많은 영향을 미치죠.
그래서 코드 리뷰를 할 때도 신경을 쓰게 되는데, 코드 포매팅 툴을 잘 사용하면 코드 리뷰에 불필요하게 핑퐁하며 소모되는 시간을 줄일 수 있습니다.
python 에는 pep8 이라는 공식 스타일 가이드가 있고, 이것을 준수하도록 도와주는 툴들이 꽤 많습니다. 찾아보면 일반적으로 아는 이름 외에도 더 많은 것이 있다는 것을 알게 됩니다 ㅎㅎ
저희 팀에서는 그 중 black과 flake8 을 씁니다. 서로 영역이 애매하게 달라서 둘 다 씁니다. 쓰는 방법은 엄청 간단해요. pip 로 설치 후 쉘에서 바로 돌릴 수 있고, pre-commit 훅에 걸어서 쓸 수도 있죠. 후자처럼 쓰면, black 은 룰에 맞지 않는 코드들은 자동으로 변환시켜주고, flake8 은 경고를 띄우면서 해당 문제들을 고치지 않으면 commit 을 못하도록 막아주기도 합니다. (strict 로 설정을 해줘야 합니다) 스타일을 준수하지 않으면 커밋을 못하니까 자동적으로 통일된 포맷으로 코드가 나가게 되죠.
black 은 pycharm 등 IDE 에 적용해서 파일이 저장될 때마다 바로바로 코드가 리포매팅 되게 설정해줄 수도 있어서 좋습니다.
사실 black 의 포매팅에 모두 다 동의하는 것은 아니고 몇몇 부분들은 아쉽지만, 그보다는 uncompromising하게 포매팅을 하면서 통일된 코드를 가지는 장점이 더 크다고 생각해서 사용합니다.
본인의 팀의 코드들이 가지런하지 않아서 불만이 있다면 사용을 건의해보는건 어떨까요? :)
python code styling
2020.04.24 | 조회수 319
Eugene Joo
WASD3R
닉네임으로 등록
등록
리멤버 회원이 되면 모든 댓글을 보실 수 있습니다
로그인
회원가입
김커뮤니티
@멘션된 회사에서 재직했었음
BEST회사에서 풀지 못한 고민, 여기서
회사에서 업무를 하다가 풀지 못한 실무적인 어려움, 사업적인 도움이 필요한 적이 있으셨나요? <리멤버 커뮤니티>는 회원님과 같은 일을 하는 사람들과 이러한 고민을 해결할 수 있는 온라인 공간입니다.
회원 가입 하고 보다 쉽게 같은 일 하는 사람들과 소통하세요
2020.07.01
154
김커리어
@멘션된 회사에서 재직 중
BEST리멤버 회원을 위한 경력 관리 서비스, 리멤버 커리어를 소개합니다.
당장 이직 생각이 없어도, 좋은 커리어 제안은 받아보고 싶지 않으신가요? <리멤버 커리어>는 리멤버에서 새롭게 출시한 회원님들을 위한 경력 관리 서비스 입니다. 능력있는 경력직 분들이 <리멤버 커리어>에 간단한 프로필만 등록해두면, 좋은 커리어 제안을 받아 볼 수 있습니다. 단 1분의 투자로 프로필을 등록해두기만 하면, 기업인사팀이나 헤드헌터가 회원님께 꼭 맞는 제안을 직접 보내드립니다.
지금 바로 <리멤버 커리어>에 프로필을 등록하고, 새로운 기회를 만나보세요!
2020.07.01
21