Najważniejszym powodem dokonywania częstych, małych i znaczących zmian jest pomoc w zrozumieniu historii kodu. W szczególności bardzo trudno jest zrozumieć, jak zmienił się kod, jeśli trudno jest wygenerować zrozumiałe różnice.
Opcja 1 zaciemnia historię wprowadzonych zmian, ale w przeciwnym razie nie spowoduje żadnych problemów.
Opcja 2 zaciemnia historię dokonanych zmian, być może nieco mniej niż opcja 1, ale może powodować inne problemy dla ciebie lub innych, jeśli założą oni lub w inny sposób stwierdzą, że zatwierdzenia są różne, np. Mogą zostać niezależnie połączone z innymi gałęziami. O ile nie istnieje silny praktyczny powód, dla którego jest to preferowane w porównaniu z opcją 1, jest to mniej idealne niż to.
Opcja 3 jest najlepsza, wszystkie pozostałe są równe, ale jeśli, jak opisano w innym miejscu, zrobienie tego wymagałoby „ekstremalnych” ilości czasu lub pociągnęłoby za sobą inne znaczące koszty, będziesz musiał porównać te koszty z oczekiwanymi korzyściami tworzenie czystszych zatwierdzeń.
W oparciu o informacje, które podałeś, wybrałbym opcję 1. Może powinieneś skonfigurować przypomnienia z prośbą o zatwierdzenie zmian?
Prototypowanie i przepisywanie
Kolejną kwestią, o której należy pamiętać, szczególnie w świetle notatki o byciu jedynym programistą oraz mojego podejrzenia, że pracujesz nad stosunkowo nową bazą kodu, jest to, że prawdopodobnie dobrze jest rozwinąć różne nawyki dotyczące dokonywania zmian w przypadku „prototypowanie nowego kodu w porównaniu z utrzymywaniem lub rozszerzaniem istniejącego kodu. Prawdopodobnie nie ma strasznie ostrego podziału między nimi, ale myślę, że nadal jest to użyteczne rozróżnienie.
Kiedy prototypujesz nowy kod, zatwierdzaj, kiedy chcesz zapisać zmiany, prawie na pewno w oddziale, ale być może w osobnym projekcie. A może nawet całkowicie działają poza kontrolą wersji. Zamiast tego możesz skupić się na gromadzeniu dowodów na temat wykonalności różnych hipotez lub projektów, które rozważasz. Często piszę małe prototypy przy użyciu różnych narzędzi, np. LINQPad zamiast Visual Studio for C #.
Po zweryfikowaniu konkretnej hipotezy lub projektu, przepisz ją w głównym projekcie, najlepiej w oddziale, i wykonaj małe, znaczące zatwierdzenia, które najlepiej pomogą zrozumieć inne (w tym ciebie w przyszłości), co do charakteru zmian robisz.