Avevo l'impressione che un sistema di controllo della versione eliminasse la necessità di avere "log delle modifiche" intonacati ovunque nel codice. Ho spesso visto l'uso continuo dei registri delle modifiche, inclusi grandi blocchi lunghi all'inizio delle procedure memorizzate con una grande sezione bloccata per le modifiche al file e sporcare il codice con cose come:
// 2011-06-14 (John Smith) Change XYZ to ABC to fix Bug #999
e:
// 2009-95-12 (Bob Jones) Extracted this code to Class Foo
// <commented-out code here>
La ragione di ciò, come mi è stato spiegato, è che ci vuole troppo tempo per setacciare i nostri log VCS cercando di trovare chi ha cambiato cosa e perché, pur avendo nel file di codice stesso, in alto o vicino al relativo cambiare, rende facile vedere chi ha cambiato cosa e quando. Anche se ne vedo il punto, sembra ridondante e sembra un po 'di "Eh non capiamo davvero come usare correttamente il nostro VCS, quindi non ci preoccuperemo affatto di quella roba."
Cosa ne pensi? Usi sia i commenti che il registro? Solo il registro? Trovi che sia più facile codificare quando puoi vedere sopra un blocco di codice che John Smith ha cambiato il metodo per controllare XYZ una settimana fa, invece di dover cercare nei registri e confrontare i file di codice in uno strumento Diff?
EDIT: utilizzando SVN, ma sostanzialmente solo come repository. Niente rami, niente fusioni, niente tranne log + archiviazione.