Jestem uczniem szkoły średniej pracującym nad projektem C # z moim przyjacielem o prawie takim samym poziomie umiejętności jak ja. Do tej pory napisaliśmy około 3000 wierszy kodu i 250 wierszy kodu testowego w zakresie 100 zatwierdzeń. Ze względu na szkołę odłożyłem projekt na kilka miesięcy, a ostatnio mogłem go ponownie podjąć.
Do czasu, gdy go odzyskałem, zrozumiałem, że kod, który napisałem, był źle zaprojektowany, taki jak włączenie nadmiernej liczby wątków do renderera, złe zapobieganie warunkom wyścigowym w interakcji między emulowanym procesorem, GPU i kartą do gry , a także kod, który jest po prostu zbędny i mylący.
Problem polega na tym, że nie ukończyłem nawet głównej funkcjonalności mojego programu, więc nie mogę tak naprawdę zrefaktoryzować, i czuję się zniechęcony tym, że mam pełną świadomość, że mój kod jest wadliwy. Jednocześnie nie chcę rezygnować z projektu; poczyniono znaczne postępy i praca nie może się zmarnować.
Mam wrażenie, że mam kilka opcji: po prostu dokończyć funkcjonalność, omijając kiepski projekt, a następnie refaktoryzować, gdy wszystko działa, zatrzymać wszystko i dążyć do rozplątywania wszystkiego, zanim reszta funkcjonalności będzie mogła zostać ukończona, rozpoczynając projekt wszystko po to, żeby znów było świeże w moim umyśle, lub wręcz porzucenie projektu z powodu jego nadmiernych rozmiarów (w zasadzie „powrót do deski kreślarskiej”).
W oparciu o doświadczenia innych w takich projektach, jakie jest wyjście z powrotu na właściwą ścieżkę? Na podstawie odpowiedzi na tej stronie panuje ogólna zgoda co do tego, że przepisywanie jest na ogół niepotrzebne, ale dostępna opcja, jeśli kod nie może być utrzymany bez nadmiernych kosztów. Naprawdę chciałbym kontynuować ten projekt, ale na obecnym etapie mój kod nie jest wystarczająco dobrze zaprojektowany, abym mógł kontynuować, a uczucie przygnębienia zniechęca mnie do kontynuowania.