У мене склалося враження, що система контролю версій усунула необхідність скріплення "журналів змін" скрізь у коді. Я часто бачив постійне використання журналів змін, включаючи великі довгі блоки на початку збережених процедур з великим розділом, заблокованим для змін у файлі та засміченням коду такими речами, як:
// 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, тому ми не будемо взагалі турбуватися з цими речами".
Що ти думаєш? Чи використовуєте ви як коментарі, так і журнал? Просто журнал? Чи вважаєте ви, що простіше кодувати, коли ви бачите вище блоку коду, що Джон Сміт тиждень тому змінив метод перевірки на XYZ, замість того, щоб шукати журнали та порівнювати файли коду в інструменті Diff?
EDIT: Використання SVN, але в основному лише як сховище. Ні гілок, ні злиття, нічого, крім журналу + зберігання.