풀 리퀘스트를 3배 빠르게 검토하는 방법

풀 리퀘스트를 검토하는 데 평균적으로 3분, 10분 또는 30분을 소비합니까?

숙련된 프로그래머라도 일부 프로젝트에서 동료의 풀 리퀘스트를 검토하는 데 평균 10분에서 30분을 소비합니다.

다양한 엔터프라이즈 프로젝트(Typescript, Python, Golang, Java)를 통해 100개 이상의 pull 요청을 검토하고 pull 요청을 3배 더 빠르고 정확하게 검토한 다음 자동화된 도구의 도움으로 더 빠르게 검토하는 방법을 배웠습니다.

No.1: pull 요청 템플릿 사용



마음속으로 다음과 같은 생각을 해 본 적이 있습니까?

변경 사항은 무엇이며 변경되지 않은 사항은 무엇입니까?

기능 요구 사항, 사양 및 설계에 대한 관련 문서는 어디에 있습니까?

위의 문제에 대한 해결책은 쉽지만 많은 초보자 프로젝트에서 놓치고 있습니다.

풀 리퀘스트 템플릿을 사용하세요!!

모든 pull 요청에 필요한 정보가 정렬된 순서로 포함되도록 합니다.

최소한 다음 사항을 포함하는 것이 좋습니다.

1. Description
2. A list of Changes
3. Future todos
4. Screenshots or movies
5. Test Cases and results
6. How to review your code


완전한 풀 요청 템플릿을 확인할 수 있습니다my repository.

No.2: 비즈니스 로직을 검토하지 말고 테스트를 준비하세요.



다음 댓글을 보셨나요?
I tried your new feature on my local PC, but it did not work.
또는
I checked your code, and the logic in line XX should be the opposite of the specification.
이는 관대하지만 코딩 상대를 수동으로 확인하여 비즈니스 논리를 보장하기에는 너무 많은 비용이 소요됩니다.

예를 들어 다음 제어 흐름을 보십시오.

if (condition1) {
  //  10 lines of code here
} else if (condition2) {
  //  20 lines of code here
} else if (condition3) {
  //  20 lines of code here
} else {
  //  20 lines of code here
}


위의 코드를 검토하려면 pull request와 문서화를 3~4번 왕복해야 합니다.

그리고 이 코드의 진짜 문제는 논리가 아니라 많은 if/else 문에 있습니다.

어쨌든 (자동) 테스트를 사용하여 코드의 기능적 품질을 확인하는 것이 더 효율적입니다.

절차는 너무 간단합니다.

1. Write test cases to a test sheet
2. Review if test cases are sufficient
3. Write corresponding test code
4. Run the test program in every pull request


모든 프로그래밍 언어에는 많은 자동화된 테스트 프레임워크가 있고 코드 호스팅 플랫폼에는 CI/CD 도구가 있습니다.

3번: 린터와 포맷터를 적절하게 구성



아래와 같은 리뷰 댓글 보셨나요?
This variable should be a camelCase.
또는
This JSON object should be indented.
위와 같은 주석이 있는 프로젝트는 구문 검사기와 코드 포맷터를 제대로 도입하지 못합니다.

예를 들어, ESLint와 Prettier는 자바스크립트/타입스크립트 개발을 위한 사실상의 표준입니다. 따라서 eslintrc 및 prettierrc 파일을 올바르게 구성하는 것이 중요합니다.

또한 합리적이지 않은 예외를 허용하지 않는 것도 중요합니다. 위반된 린트 규칙이 코드를 향상/보호하고 코드가 여전히 예외일 수 있는 이유에 대해 신중하게 생각하십시오.

위의 No.1, No.2, No.3 사례는 풀 리퀘스트 검토를 3배 더 빠르게 만듭니다.

의미 있는 검토를 위해서는 3분에서 10분 사이가 소요됩니다.

다음에만 집중해야 합니다.
  • 가독성
  • 퍼포먼스
  • 추상화

  • 유용한 경험 법칙은 저장소에 있는 모든 파일을 200줄 미만으로 유지하는 것입니다.

    하지만 어떻게 pull request 검토에 더 적은 시간을 할애할 수 있습니까?

    자동화된 코드 품질 검토 도구가 있습니다.

    4번: 코드 품질 검토 도구 사용



    좋은 코드 품질 검토 도구는 풀 요청 검토를 3배 더 빠르게 하므로 처음부터 10배 빨라집니다.
  • Code Climate
  • Codebeat
  • SonarQube

  • Codebeat는 충분한 정적 코드 분석, 풍부한 CI/CD 지원, 관리형 서비스를 제공하기 때문에 사용하는 것을 선호합니다. 또한 Quick Wins 패널에서 열악하지만 쉽게 수정할 수 있는 코드에만 집중할 수 있습니다.



    반면에 SonarQube는 보다 심층적으로 구성할 수 있으며 고급 프로젝트 요구 사항에 도움이 됩니다.

    자세한 도구 비교를 위해 두 개의 기사를 추천합니다.
  • Comparison of Automated Code Review Tools: Codebeat, Codacy, Codeclimate and Scrutinizer
  • Continuous code quality and automated code review tools

  • 읽어주셔서 감사하고, 좋은 리뷰 부탁드립니다!🙌

    좋은 웹페이지 즐겨찾기