아이디어는 실제로 매우 좋습니다. 일반적인 워크 플로와는 달리 코드에서 직접 검토를 유지하므로 기술적 으로이 워크 플로를 사용하기 위해 텍스트 편집기 가 필요하지 않습니다 . IDE의 지원, 특히 리뷰 목록을 맨 아래에 표시하는 기능도 훌륭합니다.
여전히 몇 가지 단점이 있습니다.
아주 작은 팀에서는 잘 작동하지만 큰 팀에서는 검토 대상,시기, 대상 및 결과를 추적해야합니다 . 실제로 이러한 종류의 추적 (버전 제어를 통해 모든 것을 알 수 있음)이 있지만 사용 및 검색이 매우 어려우며 종종 수정을 통해 수동 또는 반 수동 검색이 필요합니다.
나는 검토자가 검토 된 포인트가 실제로 어떻게 적용되었는지 알기 위해 검토 자로부터 충분한 피드백을 받았다고 믿지 않습니다 .
다음 상황을 상상해보십시오. Alice는 처음으로 Eric의 코드를 검토하고 있습니다. 그녀는 젊은 개발자 인 Eric이 실제로 사용 된 프로그래밍 언어에서 가장 설명이 어려운 구문을 사용했음을 알았습니다.
Alice는 대체 구문을 제안하고 코드를 Eric에 다시 제출합니다. 그는 자신이 올바르게 이해한다고 생각하는이 대체 구문을 사용하여 코드를 다시 작성하고 해당 // BLA
주석을 제거합니다 .
다음 주에 두 번째 검토를위한 코드를받습니다. 에릭이 어떻게 해결했는지보기 위해 첫 번째 검토에서이 발언을했다는 것을 실제로 기억할 수 있습니까?
보다 공식적인 검토 과정에서 Alice는 즉시 Eric이 자신이 말한 구문을 잘못 이해했음을 확인하기 위해 자신이 언급 한 내용을 확인하고 관련 코드의 차이점을 확인할 수있었습니다.
사람들은 여전히 사람들입니다. 나는 그 의견 중 일부가 생산 코드로 끝나고 일부는 완전히 구식이면서 쓰레기로 남아있을 것이라고 확신 합니다.
물론 다른 의견에도 같은 문제가 있습니다. 예를 들어, 프로덕션에는 많은 TODO 주석 (가장 유용한 주석 : "TODO : 아래 코드 주석")이 있으며 해당 코드가 업데이트 될 때 업데이트되지 않은 많은 주석이 있습니다.
예를 들어, 코드의 원래 작성자 또는 검토자가 떠날 수 있으며 새로운 개발자는 검토 내용을 이해하지 못하므로 주석은 영원히 유지되어 누군가가 코드를 지우거나 실제로 무엇을 이해하기에는 너무 용기가 있기를 기다립니다. 말한다.
이는 대면 검토를 대체하지 않습니다 (단, 대면하지 않는 다른 공식 검토에도 동일한 문제가 적용됨).
특히, 원래 검토에 설명이 필요한 경우 검토 자와 검토자는 일종의 토론을 시작합니다 . BLA 의견이 많을뿐만 아니라 해당 토론에서도 버전 관리 로그를 오염시킵니다 .
구문에 사소한 문제 가 발생할 수도 있습니다 (TODO 주석에도 해당). 예를 들어, 긴 "// BLA"주석이 여러 줄에 나타나고 누군가가 다음과 같이 작성하기로 결정한 경우 :
// BLA This is a very long comment which is way beyond 80 characters, so it actually
// fills more then one line. Since the next lines start with slashes, but not "BLA"
// keyword, the IDE may not be able to show those lines, and display only the first one.
마지막으로 사소하고 매우 개인적인 메모 : "BLA"를 키워드로 선택하지 마십시오. 못 생겼어요 ;)