Tenía la impresión de que un sistema de control de versiones eliminaba la necesidad de tener "registros de cambios" en todas partes del código. A menudo he visto el uso continuo de registros de cambios, incluidos grandes bloques largos al comienzo de los procedimientos almacenados con una gran sección bloqueada para cambios en el archivo y ensuciando el código con cosas como:
// 2011-06-14 (John Smith) Change XYZ to ABC to fix Bug #999
y:
// 2009-95-12 (Bob Jones) Extracted this code to Class Foo
// <commented-out code here>
La razón de esto, como me explicaron, es que lleva demasiado tiempo examinar nuestros registros de VCS tratando de encontrar quién cambió qué y por qué, mientras lo tiene en el archivo de código, ya sea en la parte superior o cerca de la correspondiente cambiar, hace que sea fácil ver quién cambió qué y cuándo. Si bien veo el punto de eso, parece redundante y solo una especie de "Eh, realmente no entendemos cómo usar nuestro VCS correctamente, por lo que no nos molestaremos en absoluto con esas cosas".
¿Qué piensas? ¿Utiliza tanto los comentarios como el registro? Sólo el registro? ¿Le resulta más fácil codificar cuando puede ver arriba de un bloque de código que John Smith cambió el método para verificar XYZ hace una semana, en lugar de tener que buscar en los registros y comparar archivos de código en una herramienta Diff?
EDITAR: Usando SVN, pero básicamente solo como un repositorio. Sin sucursales, sin fusiones, nada excepto log + almacenamiento.