IT 엔지니어

python code styling

20년 04월 24일 | 조회수 346
avatar
EUGENE JOO
Wasder

python 쓰시는 분들 코드 스타일링은 어떻게 하시나요? 일단 코드는 아름다운게 못생긴 것보다 좋습니다. spacing, line break 등이 제각각이고, 안쓰는 코드들이 잔뜩 있는 코드와, 가지런하게 잘 정돈된 코드의 가독성의 차이는 크고, 생산성에도 많은 영향을 미치죠. 그래서 코드 리뷰를 할 때도 신경을 쓰게 되는데, 코드 포매팅 툴을 잘 사용하면 코드 리뷰에 불필요하게 핑퐁하며 소모되는 시간을 줄일 수 있습니다. python 에는 pep8 이라는 공식 스타일 가이드가 있고, 이것을 준수하도록 도와주는 툴들이 꽤 많습니다. 찾아보면 일반적으로 아는 이름 외에도 더 많은 것이 있다는 것을 알게 됩니다 ㅎㅎ 저희 팀에서는 그 중 black과 flake8 을 씁니다. 서로 영역이 애매하게 달라서 둘 다 씁니다. 쓰는 방법은 엄청 간단해요. pip 로 설치 후 쉘에서 바로 돌릴 수 있고, pre-commit 훅에 걸어서 쓸 수도 있죠. 후자처럼 쓰면, black 은 룰에 맞지 않는 코드들은 자동으로 변환시켜주고, flake8 은 경고를 띄우면서 해당 문제들을 고치지 않으면 commit 을 못하도록 막아주기도 합니다. (strict 로 설정을 해줘야 합니다) 스타일을 준수하지 않으면 커밋을 못하니까 자동적으로 통일된 포맷으로 코드가 나가게 되죠. black 은 pycharm 등 IDE 에 적용해서 파일이 저장될 때마다 바로바로 코드가 리포매팅 되게 설정해줄 수도 있어서 좋습니다. 사실 black 의 포매팅에 모두 다 동의하는 것은 아니고 몇몇 부분들은 아쉽지만, 그보다는 uncompromising하게 포매팅을 하면서 통일된 코드를 가지는 장점이 더 크다고 생각해서 사용합니다. 본인의 팀의 코드들이 가지런하지 않아서 불만이 있다면 사용을 건의해보는건 어떨까요? :)

댓글 4
공감순
최신순
    avatar
    리멤버
    (주)리멤버앤컴퍼니
    20년 04월 28일
    축하합니다, 작성자님! 4/24(금)~26(일) 속하신 커뮤니티에서 가장 많은 사용자의 댓글을 받은 글을 쓰셨습니다! 리멤버 가입 휴대폰 번호로 5천원 신세계 상품권을 발송해드릴 예정입니다. (5/4 월 발송 예정) 오늘도 1등에 도전해보세요! (이벤트 기간 : ~4/30까지)
    축하합니다, 작성자님! 4/24(금)~26(일) 속하신 커뮤니티에서 가장 많은 사용자의 댓글을 받은 글을 쓰셨습니다! 리멤버 가입 휴대폰 번호로 5천원 신세계 상품권을 발송해드릴 예정입니다. (5/4 월 발송 예정) 오늘도 1등에 도전해보세요! (이벤트 기간 : ~4/30까지)
    답글 쓰기
    0
    지금 바로 리멤버 회원이 되어
    모든 댓글을 확인하세요
    리멤버
    @멘션된 회사에서 재직했었음
    19년 05월 28일
    회사에서 풀지 못한 고민, 여기서 회사에서 업무를 하다가 풀지 못한 실무적인 어려움, 사업적인 도움이 필요한 적이 있으셨나요? <리멤버 커뮤니티>는 회원님과 같은 일을 하는 사람들과 이러한 고민을 해결할 수 있는 온라인 공간입니다. 회원 가입 하고 보다 쉽게 같은 일 하는 사람들과 소통하세요
    회사에서 풀지 못한 고민, 여기서 회사에서 업무를 하다가 풀지 못한 실무적인 어려움, 사업적인 도움이 필요한 적이 있으셨나요? <리멤버 커뮤니티>는 회원님과 같은 일을 하는 사람들과 이러한 고민을 해결할 수 있는 온라인 공간입니다. 회원 가입 하고 보다 쉽게 같은 일 하는 사람들과 소통하세요
    답글 쓰기
    0
    리멤버
    @멘션된 회사에서 재직했었음
    19년 05월 28일
    일하는 사람과 기회를 연결하여 성공으로 이끈다
    일하는 사람과 기회를 연결하여 성공으로 이끈다
    답글 쓰기
    0
추천글
대표전화 : 02-556-4202
06235 서울시 강남구 테헤란로 134, 5,6,9층
(역삼동, 포스코타워 역삼) (대표자:최재호, 송기홍)
사업자등록번호 : 211-88-81111
통신판매업 신고번호: 2016-서울강남-03104호
| 직업정보제공사업 신고번호: 서울강남 제2019-11호
| 유료직업소개사업 신고번호: 2020-3220237-14-5-00003
| 국외 유료직업소개사업 신고번호: F1200020240004
Copyright Remember & Company All rights reserved.