수동 코드 검토를 수행하는 것은 ... 음 ... 80 년대입니다. 아마 90 년대
현대의 지속적인 통합 및 온라인 코드 검토 시스템 시대에서 "소스 제어가 중단 될 수 있습니다"라는 두려움 때문에 코드 커밋을 보류하고 싶지 않습니다.
어서 이것이 바로 변경 세트 (또는 변경 목록)의 목적입니다. 프로그래머가 소스 제어 시스템의 굶주린 턱에 먹이를 주도록합니다. 그런 다음 지속적인 통합 서버는 대상이 된 빌드를 제공합니다 (매일, 매일 빌드하지만 일부는 제거됩니다). 문제가 발생하면 가해자 책상에 코드 원숭이 트로피 (일반적으로 누군가가 럭키 참 시리얼 상자에서 찾은 플라스틱 장난감)를 넣고 침입 변경 목록을 롤백하십시오. 글쎄, 일부 지속적인 통합 시스템은 팀 / 부서 / 조직의 모든 사람에게 빌드가 손상되었다는 이메일 / IM / 데스크톱 알림을 자동으로 표시하고, 파일 또는 테스트에서 빌드를 정확히 중단 한 모든 사람을 보여주는 멋진 하이퍼 링크를 제공합니다. 이제는 불운 한 프로그래머입니다. '
이 프로세스가 실행되면 코드 검토 시스템이 시작됩니다 (다시 체크인에 의해 트리거 됨). 자격을 갖춘 팀 구성원의 목록은 소스 제어를 위해 변경 목록이 변경되었음을 알리고 검토 시스템에서 검토가 시작되며 모든 사람이 변경 목록의 변경 사항에 주석을 달기 시작합니다. 모두가 "LGTM"이라고 말하길 바랍니다. 프로그래머가 똑똑하다면,기도 / 뇌물 / 숨기기를 기억할 것입니다. 심각한 문제가있는 경우 검토자는 결함을 생성하거나 (버그 추적 시스템에 연결될 수 있음) 변경 목록을 취소해야 할 수도 있습니다. 그렇습니다. 변화를 철회하면 자아뿐만 아니라 마음도 아프게됩니다. 거부 된 변경 목록을 다시 통합하는 것은 주니어 개발자에게 좋은 양념입니다.
개발 환경에 CI 또는 코드 검토 시스템이 부족한 경우이를 심각하게 조사해야합니다. 몇 가지 링크가 도움이 될 수 있습니다.
Atlassian Crucible
JetBrains TeamCity
reitveld
크루즈 컨트롤
CI 서버를 얻으려면 단위 테스트 프레임 워크에 대해서도 진지하게 고려해야합니다. C # 개발자라면 시작하려면 NUnit 과 같은 것을 살펴보십시오 .