코드의 변경이력을 기록하는 방법에 대해
글쓴이: azurenote / 작성시간: 화, 2011/03/29 - 5:31오후
회사의 프로세스에서는 메서드마다 주석에 변경일자와 변경자의 이름을 기록할 것을 지시합니다. 그런데 최근의 리팩토링 관련 서적들은 SCM에 기록할 것을 권합니다.
하지만 단순하게 SVN을 사용하는 경험상 커밋로그만 가지고 특정 메서드의 모든 변경이력을 추적하는 건 불가능해 보입니다.
회사에서는 SVN을 쓰고, 저도 SVN밖에 써본적이 없습니다. 제대로 써본건 아니고 그냥 단순 commit revert update 정도만 씁니다.
주석에 변경자와 변경일자를 기록하는 게 의미가 있을까요?
또 SCM에 기록을 한다면 어떻게 해야 할까요?
조언이나 비슷한 논의가 있었던 스레드의 주소를 주시면 감사하겠습니다.
Forums:
메쏘드 마다 변경일자와 변경자만 기록한다면 그냥
메쏘드 마다 변경일자와 변경자만 기록한다면
그냥 자동화해서 db나 파일에 저장하고
웹으로 조회가능하도록 하면 될것 같은데요.
...
메서드마다 주석에 변경일자를 기록하라고 하면... 아마도 절~대 시키는 대로 다 하는지 확인 못할 거구요, 결국 빈 구멍이 숭숭 생겨서 있으나 마나하게 된다는 데 500원 겁니다.
차라리 SCM 커밋 메시지에 "이 커밋은 무엇무엇 때문에 뭘 고친 커밋임"이라고 기록하게 하는 게 훨씬 강제하기 쉽습니다. (물론 그것도 쉽게 되지는 않겠습니다만... 메서드 단위 주석보다는 낫겠죠.)
변경 역추적은 svn blame이 킹왕짱입니다. (빈틈이 없기 때문에 아마 사람들에게 뭘 열심히 기록하라고 마르고 닳도록 설교하는 것보다 훨씬 편할 겁니다. 원래 커밋하면서 문제 일으키는 사람들이 꼭 로그 제대로 안 남기죠. -_-)
GNU
GNU Coding Standards에서는 주석 대신 ChangeLog 파일에 변경 이력을 기록합니다.
http://www.gnu.org/prep/standards/html_node/Change-Logs.html
댓글 달기