Code Review 효율성 도구

2224 단어 giteslintLintCode

전언


코드 리뷰에서 코드 스타일은 그 중에서 심사하는 지표 중의 하나이다.코드 스타일을 심사하는 데는 사실 일정한 작업량이 있다.코드 심사 작업량을 줄이기 위해서, 우리는 코드 스타일을 코드를 제출하기 전에 규범화하지 않겠는가?이렇게 하면 우리는 코드 심사에서 많은 시간을 절약하여 다른 더 의미 있는 일을 할 수 있다.

본문


Git Hooks


git에서 hook을 제공했는데 바로 터치 ,push 등 일련의 조작을 할 때 다른 프로그램을 터치하는 갈고리를 제공했다.
공식 문서: https://git-scm.com/docs/githooks

husky


Git hooks made easy
Husky can prevent bad git commit , git push and more woof! 허스키 공식

설치하다.

npm install husky --save-dev
// package.json
{
  ...
  "scripts":{
    "lint":"eslint src --ext .js,.jsx,.ts,.tsx --fix"
  },
  "husky": {
    "hooks": {
      "pre-commit":"lint",
      "commit-msg":"commitlint -E HUSKY_GIT_PARAMS"
    }
  },
}

Git 제출을 시도하면 자동으로 터치npm run lint되며 통과하지 않으면 오류가 발생합니다.이렇게 하면 우리는 코드를 제출하기 전에 우리의 코드lint가 통과되었는지 검증할 수 있다.
이전에 eslint를 사용한 적이 없는 일부 프로젝트에 있어서 갑자기 이런 도구를 도입했다.네가 직면할 수 있는 것은 모든 파일을 eslint에 따라 포맷하는 것이다.그거 미친 거 아니야?

lint-staged


Run linters against staged git files and don't let slip into your code base!
eslint에서 이번에 제출한 파일만 검사할 수 있습니다.이렇게 하면 우리는 점진적으로 우리의 코드 품질을 개선할 수 있다.lint-staged 홈페이지

설치하다.

npm install lint-staged --save-dev
{
  "scripts":{
    "lint":"eslint src --ext .js,.jsx,.ts,.tsx --fix"
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged":{
    "*.{js,jsx,ts,tsx}":[
      "npm run lint",
      "git add"
    ]
  },
}

Git 제출을 시도하면 자동으로 터치lint-stage되며 이번에 변경된 파일만 실행npm run lint됩니다.이렇게 하면 우리는 코드를 제출하기 전에 현재 변동이 발생한 코드lint가 통과되었는지 검증할 수 있다.

후기

좋은 웹페이지 즐겨찾기