Мені хотілося дізнатись, чи можна вважати поганою практикою спосіб поводження з вихідними файлами, який потрібно видалити з контролю версій.
Я хочу пояснити це на основі цього прикладу:
Нещодавно я дуже розгнівався, тому що мені довелося нудно розбирати класи Java в програмі, яка в основному була мертвим кодом, однак вона ніде не була задокументована, а також не коментувалася в цих класах Java. Звичайно, їх потрібно було видалити, але перед тим, як видалити такі зайві речі, у мене є - дехто може сказати дивний - звичка:
Я не видаляю такі зайві файли одразу через SVN-> Delete (замінюю командою delete вашої системи контролю версій за вибором), але натомість розміщую коментарі у тих файлах (я маю на увазі і в голові, і в нижньому колонтитулі), до яких вони збираються бути видаленим + моє ім'я + дата, а також, що ще важливіше - ЧОМУ ВІДКРИТИ (у моєму випадку, тому що вони були мертві, заплутаний код). Потім я зберігаю і зобов’язую їх до контролю версій. Наступного разу, коли мені доведеться зробити / перевірити щось у проекті для контролю версій, я натискаю SVN-> Delete, а потім вони в кінцевому підсумку видаляються у версії Control - все одно, звичайно, можна відновлювати через перегляди, і саме тому я прийняв цю звичку.
Навіщо це робити, а не видаляти їх відразу?
Моя причина полягає в тому, що я хочу мати явні маркери принаймні в останній редакції, в якій існували ці зайві файли, чому вони заслуговували на видалення. Якщо я їх видаляю відразу, вони видаляються, але ніде не зафіксовано, чому вони були видалені. Я хочу уникати типового такого сценарію:
"Гм ... чому були видалені ці файли? Я раніше добре працював." (Натискає "повернути" -> хлопець, який повернувся потім, назавжди відсутній або недоступний протягом наступних тижнів, і наступний правонаступник повинен дізнатися, як я, про що ці файли)
Але ви не помічаєте, чому ці файли були видалені з повідомлень про фіксацію?
Звичайно, я є, але повідомлення про прихильність інколи колеги не читають. Це не типова ситуація, коли ви намагаєтесь зрозуміти (в моєму випадку мертвий) код, що ви спочатку перевіряєте журнал контролю версії з усіма пов'язаними повідомленнями комісії. Замість того, щоб повзати через журнал, колега може відразу побачити, що цей файл марний. Це економить її / його час, і вона / він знає, що цей файл, ймовірно, був відновлений погано (або, принаймні, це викликає питання.