데이터과학 삼학년

[GIT] pre-commit을 이용한 코드 스타일 관리 본문

DevOps

[GIT] pre-commit을 이용한 코드 스타일 관리

Dan-k 2023. 4. 21. 12:54
반응형

pre-commit

pre-commit은 Git 저장소에서 코드를 커밋하기 전에 코드의 품질과 스타일을 검사하기 위한 도구입니다. 이를 통해 코드의 일관성과 가독성을 높이고 버그를 예방할 수 있습니다. pre-commit은 다양한 언어와 도구를 지원하며, 사용자가 직접 검사 도구를 선택하고 구성할 수 있습니다.

pre-commit 설치 방법

pre-commit을 사용하려면, 우선 설치가 필요합니다. pre-commit은 Python 패키지로 제공되며, pip를 사용하여 설치할 수 있습니다.

pip install pre-commit

pre-commit을 사용하여 코드 품질 검사하기

pre-commit을 사용하여 코드 품질 검사를 수행하려면, 먼저 .pre-commit-config.yaml 파일을 프로젝트 루트 디렉토리에 생성해야 합니다. 이 파일에는 어떤 검사 도구를 사용할 것인지와 검사할 파일 경로 등의 정보를 설정합니다.

다음은 .pre-commit-config.yaml 파일의 예시입니다.

repos:
  - repo: https://github.com/pre-commit/mirrors-black
    rev: v21.5b1
    hooks:
      - id: black
        language_version: python3.9
        args: [--target-version=py39]
        exclude: ^(\.|build)
  - repo: https://github.com/pre-commit/mirrors-isort
    rev: v5.9.2
    hooks:
      - id: isort
        args: [--profile=black]
        exclude: ^(\.|build)
  - repo: https://github.com/pre-commit/mirrors-flake8
    rev: v3.9.2
    hooks:
      - id: flake8
        exclude: ^(\.|build)
  - repo: https://github.com/pre-commit/mirrors-pylint
    rev: v2.9.6
    hooks:
      - id: pylint
        args: [--rcfile=.pylintrc]
        exclude: ^(\.|build)

이 설정 파일을 저장한 후, pre-commit을 실행하면 설정한 검사도구를 사용하여 코드 스타일 검사를 수행합니다.

pre-commit run --all-files

pre-commit  훅 커스터 마이징을 위한 종류

  1. 검사 도구 선택하기: pre-commit은 다양한 검사 도구를 지원합니다. 이 중에서도 가장 많이 사용되는 몇 가지는 다음과 같습니다.
  • flake8: Python 코드를 검사합니다.
  • black: Python 코드를 자동으로 포맷합니다.
  • isort: Python 코드를 자동으로 정렬합니다.
  • eslint: JavaScript 코드를 검사합니다.
  • prettier: JavaScript, CSS, HTML 코드를 자동으로 포맷합니다.

결론

pre-commit을 사용하면 코드 품질을 유지하고, 개발자의 실수를 방지할 수 있으며, 개발 효율을 높일 수 있습니다. 또한, 검사 도구를 커스터마이징하여 프로젝트에 적합한 검사를 수행할 수 있습니다.

pre-commit은 다양한 검사 도구를 지원하며, 쉽게 사용할 수 있습니다.

 

https://pre-commit.com/

 

pre-commit

 

pre-commit.com

 

728x90
반응형
LIST
Comments