[클린코드] 품질향상을 위한 도구

Colacan·2022년 5월 27일
1

[파이썬 클린코드]

목록 보기
3/3

각 파트의 첫 줄에는 본인의 언어로 설명을 적고 이후에 학습한 내용을 정리했다.

품질 향상을 위한 도구 설정

마치 공장에서 체크리스트를 진행하는 느낌. 제대로 진행되지않으면 통과할 수 없다.

  1. 모든 검사는 자동화해야한다.

  2. 체크리스트의 일부가 되어 검사에 실패하면 빌드도 실패하게 진행

  3. 코드의 연속성을 확보할 수 있다.

Mypy (타입 힌팅)

타입이 제대로 적용되었는지 확인

  1. 가장 일반적인 정적 타입 검사 도구

  2. 모든 파일을 분석하여 타입 불일치 검사를 진행 (가끔 잘못 탐지하는 경우도 있으니 유의)

pip install mypy
  1. mypy {파일명} 으로 검사결과 제공한다.
    잘못된 탐지의 경우 문장끝에 # type: ignore 를 삽입하여 무시

Pylint (코드 검사)

스타일 가이드라인을 검사

  1. PEP8을 준수했는지 검사

  2. 이외에도 pycodestyle이나 Flake8등의 도구가 있다.

pip install pylint
  1. .pylintrc 파일로 설정값을 바꿀수 있다. (규칙의 활성화, 최대글자수등 수정가능)

Makefile (자동 검사 설정)

각 테스트에 대한 반복적 명령을 자동화 시켜준다.

  1. 리눅스 개발환경에서 빌드를 자동화

  2. 프로젝트 컴파일, 실행설정을 도와준다.

  3. 포매팅 검사, 코딩 컨벤션(코드스타일의 통일을 의미) 검사의 자동화도 가능

  4. 각 테스트를 위한 타겟을 만들고 모두실행하는 또다른 타겟을 만드는 것

Black

코드 포매팅을 하는 도구의 일종

  1. 자동으로 코드를 포매팅하는도구.

  2. 고유한 방식으로 포매팅한다.

  3. 결정론적이어서 항상 같은 결과를 출력

  4. 항상 쌍따옴표만 이용하는 것과 같은 엄격함이 존재

  5. 변경사항이 있는경우에만 pull request가 들어간다.

  6. 포매팅 걱정없이 문제의 핵심에만 집중할 수 있는 장점이 있음

profile
For DE, DA / There is no royal road to learning

0개의 댓글