Chciałem wiedzieć, czy sposób postępowania z plikami źródłowymi, które należy usunąć z kontroli wersji, można uznać za złą praktykę.
Chcę ci to wyjaśnić na podstawie tego przykładu:
Niedawno bardzo się zdenerwowałem, ponieważ musiałem żmudnie sortować klasy Java w programie, który był w zasadzie martwym kodem, jednak nigdzie go nie udokumentowano, a także nie skomentowano w tych klasach Java. Oczywiście trzeba je było usunąć, ale zanim usunę takie zbędne rzeczy, mam - niektórzy mogą powiedzieć dziwny - nawyk:
Nie usuwam takich zbędnych plików natychmiast za pomocą SVN-> Usuń (zamień na polecenie usuwania wybranego systemu kontroli wersji), ale umieszczam komentarze w tych plikach (odsyłam zarówno do nagłówka, jak i stopki), które zamierzają zostać usunięte + moje imię + data, a także - co ważniejsze - DLACZEGO SĄ USUNIĘTE (w moim przypadku, ponieważ były martwe, mylący kod). Następnie zapisuję i przekazuję je do kontroli wersji. Następnym razem, gdy muszę zatwierdzić / sprawdzić coś w projekcie do kontroli wersji, wciskam SVN-> Usuń, a następnie są one ostatecznie usuwane w Kontroli wersji - wciąż oczywiście można je przywrócić poprzez poprawki i dlatego przyjąłem ten nawyk.
Dlaczego warto to robić zamiast usuwać je od razu?
Moim powodem jest to, że chcę mieć wyraźne znaczniki przynajmniej w ostatniej wersji, w której istniały te zbędne pliki, dlaczego zasługiwały na usunięcie. Jeśli je od razu usunę, zostaną usunięte, ale nigdzie nie udokumentowano, dlaczego zostały usunięte. Chcę uniknąć typowego scenariusza takiego jak ten:
„Hmm… dlaczego te pliki zostały usunięte? Wcześniej działałem dobrze.” (Presses „revert” -> facet, który cofnął, odszedł na zawsze lub nie będzie dostępny w ciągu najbliższych tygodni, a następny cesjonariusz musi dowiedzieć się żmudnie jak ja, o co chodzi w tych plikach)
Ale czy nie zauważasz, dlaczego te pliki zostały usunięte z komunikatów zatwierdzania?
Oczywiście, że tak, ale komunikat zatwierdzenia czasami nie jest czytany przez kolegów. Nie jest typową sytuacją, że kiedy próbujesz zrozumieć kod (w moim przypadku martwy), najpierw sprawdzasz dziennik kontroli wersji ze wszystkimi powiązanymi komunikatami zatwierdzania. Zamiast przeszukiwać dziennik, kolega od razu widzi, że ten plik jest bezużyteczny. Oszczędza to jego czas i ona / on wie, że ten plik został prawdopodobnie przywrócony na złe (a przynajmniej rodzi pytanie.