Найважливіша причина робити часті, невеликі та значущі зобов’язання - це допомогти зрозуміти історію коду. Зокрема, дуже важко зрозуміти, як змінився код, якщо важко генерувати зрозумілі розбіжності.
Варіант 1 оглядає історію змін, які ви внесли, але в іншому випадку це не спричинить жодних проблем.
Варіант 2 описує історію змін, які ви внесли, можливо, дещо менше, ніж варіант 1, але це може спричинити інші проблеми для себе чи інших, якщо вони припускають або іншим чином роблять висновок, що комітети відрізняються, наприклад, можуть бути об'єднані в інші гілки незалежно. Якщо немає вагомих практичних причин, чому це надано перевагу варіанту 1, це менш ідеально, ніж це.
Варіант 3 найкращий, коли всі інші рівні, але якщо, як ви описали деінде, для цього знадобиться "екстремальна" кількість часу або виникнуть інші значні витрати, вам доведеться зважити ці витрати на очікувані переваги створення більш чистих комітетів.
Виходячи з наданої вами інформації, я б обрав варіант 1. Можливо, вам слід налаштувати нагадування, що підкажуть вам здійснити зміни?
Прототипування та переписування
Ще одне врахування, яке слід пам’ятати, особливо зважаючи на вашу замітку про те, що ви є єдиним програмістом, і на мою підозру, що ви працюєте над відносно новою кодовою базою, полягає в тому, що, мабуть, добре розвивати різні звички щодо внесення змін, коли ви буде прототипувати новий код порівняно з підтримкою або розширенням існуючого коду. Напевно, немає страшенно різкого поділу між ними, але я думаю, що це все-таки корисна відмінність.
Коли ви розробляєте прототип нового коду, виконайте вказівки, коли ви хочете зберегти свої зміни, майже напевно, у відділенні, але, можливо, в окремому проекті. А може навіть взагалі просто працювати поза контролем версій. Ви можете замість цього зосередитись на зборі доказів щодо доцільності різних гіпотез чи проектів, які ви розглядаєте. Я часто пишу невеликі прототипи, використовуючи різні інструменти, наприклад LINQPad замість Visual Studio для коду C #.
Коли ви підтвердили певну гіпотезу чи дизайн, перепишіть її у своєму головному проекті, в ідеалі у галузь, і зробіть невеликі, змістовні зобов’язання, які найкращим чином допоможуть зрозуміти інших (у тому числі майбутніх вас) щодо характеру змін ти робиш.