많은 코드 검토가 상당히 일상적입니다. 그러나 때때로 기존의 복잡하고 취약한 코드에 크게 영향을 미치는 변경 사항이 있습니다. 이 경우 변경의 안전성, 회귀 부재 등을 확인하는 데 걸리는 시간이 너무 깁니다. 아마도 개발 자체를 수행하는 데 걸리는 시간을 초과했을 수도 있습니다.
이 상황에서 어떻게해야합니까? 병합하고 아무 것도 미끄러지지 않기를 바랍니다. (권장하지 않음!) 최선의 방법은 명백한 결함을 발견하려고 노력할 것입니다 (아마도 이것이 코드 검토가 목표로해야하는 가장 많은 코드일까요?) 코드 검토보다 더 나은 대안으로 완전히 병합하고 테스트합니까?
이것은 코드 검토의 일부로 테스트를 수행해야하는지에 대한 질문이 아닙니다. 이것은 설명 된 상황에서 가장 좋은 옵션이 무엇인지 묻는 질문입니다. 특히 마감 기한이 지났거나 포괄적 인 단위 테스트 세트가 없거나 변경된 조각 코드에 대해 단위 테스트를 실행할 수 없습니다.
편집 : 나는 지금까지 몇 가지 답변 / 의견이 "광범위한 영향"이라는 문구에서 선택되었다는 인상을 받았으며 변경 사항이 많은 코드 줄과 관련이 있음을 의미했습니다. 나는 이것이 해석이라는 것을 이해할 수 있지만 실제로는 내 의도가 아니었다. "광범위한 영향"이란 예를 들어 코드베이스의 상호 연결성 또는 녹온 효과의 범위 때문에 회귀 가능성이 높다는 것을 의미합니다. 반드시 변경 자체가 큰 것은 아닙니다. 예를 들어, 개발자는 기존의 높은 수준의 루틴을 호출하여 여러 개의 낮은 수준의 루틴에 대한 호출을 캐스케이드하여 단일 라인으로 버그를 수정하는 방법을 찾을 수 있습니다. 버그 수정이 효과가 있는지 테스트하고 확인하는 것은 쉽습니다. 코드 검토를 통해 수동으로 모든 노크 효과의 영향을 확인하는 것이 훨씬 더 어렵습니다.
what if there is no pre-existing test suite?
-글쓰기는 어떻습니까?
Merge and hope nothing slips through?
그것은 악명 높은 나쁜 생각입니다.