코드 검토의 가치에 따라 조직을 판매하려고합니다. 나는 그들이 고용 된 여러 곳에서 일했다. 나는 그것들이 스타일 선택과 기능적 결정을 nitpick하는 데 사용되는 것을 보았고, 위험한 것이 구현되지 않았는지 확인하기 위해 직감 검사로 사용 된 것을 보았습니다. 내 직감은 가장 효과적인 목적이 두 옵션 사이에 있다는 것입니다.
그렇다면 Code Review의 목적은 무엇입니까?
코드 검토의 가치에 따라 조직을 판매하려고합니다. 나는 그들이 고용 된 여러 곳에서 일했다. 나는 그것들이 스타일 선택과 기능적 결정을 nitpick하는 데 사용되는 것을 보았고, 위험한 것이 구현되지 않았는지 확인하기 위해 직감 검사로 사용 된 것을 보았습니다. 내 직감은 가장 효과적인 목적이 두 옵션 사이에 있다는 것입니다.
그렇다면 Code Review의 목적은 무엇입니까?
답변:
코드 검토를 수행하려는 여러 가지 이유가 있습니다.
검토를 수행하기위한 몇 가지 비즈니스 사례가 있습니다.
동료 검토의 이점과 구현 전략에 대한 포괄적 인 토론을 원한다면 소프트웨어의 Peer Reviews : Karl Wiegers의 실용 가이드를 참조하십시오 .
this
상황을 덮어 쓰는 사람 .hasOwnProperty
을 찾아 내야합니다. 상황에 따라 등을 사용하지 않아야합니다. 주로 표준에 사용됩니다. C #과 같은 관리되는 언어에서는 동적 언어에 비해 몇 가지 적은 이유가 있습니다.
코드 검토는 지식 이전을 위한 도구입니다 .
개발자가 서로의 코드를 검토하면 시스템의 모든 영역에서 친숙해집니다. 이는 프로젝트의 버스 요소를 줄이고 개발자가 작성하지 않은 시스템의 일부에서 유지 관리를 수행해야 할 때 개발자의 효율성을 높입니다.
주니어 프로그래머가 시니어 코드를 검토 할 때, 주니어 프로그래머는 경험을 통해서만 배운 트릭을 선택할 수 있습니다. 이것은 지나치게 복잡한 코드에 대한 교정으로도 작동 할 수 있습니다.
철저한 코드 검토를 위해서는 다양한 문서를 자주 점검해야합니다. 언어 나 API를 배우는 좋은 방법입니다.
선임 프로그래머가 주니어 코드를 검토 할 때 기술 부채로 해석 되기 전에 문제를 해결하는 기회 입니다. 주니어 프로그래머에게 멘토링을하기 위해서는 코드 검토가 좋은 환경이 될 수 있습니다.
코드 리뷰는 다음에 관한 것이 아닙니다.
… 버그 찾기. 그것이 바로 테스트의 대상입니다. 코드 검토에서 문제가 발견되는 경우가 종종 있습니다.
… 스타일 문제에 대한 nitpicking – 하나의 스타일에 정착하고 자동 포맷터를 사용하여이를 시행합니다. 그러나 자동화 된 도구로는 확인할 수없는 것이 많습니다. 코드 검토는 코드가 충분히 문서화되거나 자체 문서화되도록하기에 좋은 장소입니다.
내가 코드 검토에서 개인적으로 얻는 가장 중요한 것은 코드가 다른 사람에게 명확 하다는 확신입니다 . 변수의 이름이 명확합니까? 각 코드 덩어리의 목적이 합리적으로 명백합니까? 코멘트로 모호한 것이 있습니까? 매개 변수에 대한 대소 문자와 유효한 값이 주석에 설명되어 있고 코드에서 확인 되었습니까?
다른 훌륭한 답변으로 다루지 않는 두 가지 영역을 추가하고 싶습니다.
코드 검토의 가장 큰 이유 중 하나 는 우리의 경우 다음과 같이 해석되는 호손 효과 입니다.
또 다른 중요한 이유는보다 안전한 개발 방법입니다. 안전한 개발 라이프 사이클에서 적절한 코드 검토의 중요성을 이해하려면 Apple의 goto fail (실수로 중복 된 코드 라인) 또는 Heartbleed 버그 (입력 유효성 검사의 기본 실패 ) 만 살펴 봐야 합니다.