나는 버전 제어 시스템이 코드의 어느 곳에서나 "변경 로그"를 석고로 만들 필요가 없다는 인상을 받았다. 저장 프로 시저가 시작될 때 큰 긴 블록을 포함하여 파일 변경을 차단하고 큰 부분을 차단하고 다음과 같은 코드를 작성하는 등 변경 로그를 계속 사용하는 경우가 종종있었습니다.
// 2011-06-14 (John Smith) Change XYZ to ABC to fix Bug #999
과:
// 2009-95-12 (Bob Jones) Extracted this code to Class Foo
// <commented-out code here>
나에게 설명 된이 이유는 누가 VCS 로그를 살펴보고 누가 무엇을 왜 변경했는지 알아내는 데 너무 오래 걸리기 때문입니다. 누가 언제 무엇을 바꾸 었는지 쉽게 알 수 있습니다. 그 요점을 알면서도 중복적이고 "단순히 VCS를 올바르게 사용하는 방법을 이해하지 못하므로 전혀 신경 쓰지 않을 것"이라고 생각합니다.
어떻게 생각해? 주석과 로그를 모두 사용합니까? 로그 만? John Smith가 로그를 검색하고 Diff 도구에서 코드 파일을 비교하는 대신 일주일 전에 XYZ를 확인하는 방법을 변경 한 코드 블록을 볼 때 코드 작성이 더 쉽다는 것을 알고 있습니까?
편집 : SVN을 사용하지만 기본적으로 저장소로만 사용하십시오. 분기, 병합, 로그 + 저장 외에는 없습니다.