Robię niewielkie postępy w dużym projekcie. Źródło jest ogromne, wiele warstw obiektów, kod makaronu, wykresy podwójnego diamentu wielokrotnego dziedziczenia, na wpół wypalone cechy zamrożone, gdy oryginalny pisarz odszedł, i nikt nie wie, dlaczego wiele jego elementów zostało zaprojektowanych tak, jak były.
Podejrzewam, że każdy kompetentny programista miałby problem z ustaleniem tego wszystkiego na tyle dobrze, aby naprawić błędy, dokończyć niedopieczone rzeczy i dodać nowe funkcje. Podejrzewam jednak, że idę wolniej niż typowy programista.
Jak mam ocenić, czy źródło jest wyjątkowo złe i robię to tak dobrze, jak ktokolwiek inny, w porównaniu do źródła typowego dla takiego projektu i jestem po prostu powolny lub nieumiejętny?
code-quality
maintenance
DarenW
źródło
źródło
Odpowiedzi:
Jedynym sposobem na rozstrzygnięcie tego pytania jest pozyskanie znacznie większej liczby programistów, którzy zajmą się tym samym problemem i zobaczą, czy mają się lepiej.
Jest to oczywiście rzadko praktyczne, zadanie spoczywa na twoim dobrym ja i pod warunkiem, że robisz co w jego mocy, badając, gdzie twoja wiedza zawodzi. Rozbijanie go na części, gdzie złożoność cię leczy, i informowanie o postępach każdego, kogo to obchodzi. Wtedy nie martwiłbym się i nie przestawał.
źródło
Po pierwsze, nie spędzałbym zbyt wiele czasu obawiając się, że możesz być „sprytny lub nieumiejętny”. Niektóre projekty są trudne do zrozumienia, a duże projekty często wymagają trochę czasu, aby przyśpieszyć. Myślenie, że jesteś „głupi” lub nie sprostasz zadaniu, nie pomoże ci w żaden sposób.
Wygląda na to, że potrzebujesz pomocy z kodem, więc rozważ swoje zasoby. Czy masz dostęp do oryginalnych programistów? Jeśli są dostępne, mogą być dobrym źródłem informacji. Jaka dokumentacja jest dostępna? Jeśli brakuje dokumentacji, wyjmij notatnik i zacznij tworzyć własną dokumentację osobistą.
Wielki pomysł polega na tym, że powinieneś oczekiwać, że ten proces zajmie trochę czasu, a im mniej czasu poświęcisz sobie na psychiczne bicie siebie, tym więcej energii będziesz musiał przeanalizować kod i go rozgryźć. Powodzenia!
źródło
Widziałeś kiedyś krzywą uczenia się.
Teoria mówi, że początkowo potrzeba czasu, aby się wzmocnić. Sztuczka polega na szybkim przejściu punktu przejścia. Jeśli regularnie utkniesz, poproś o pomoc swojego przełożonego lub przynajmniej informuj go o problemach, z którymi się spotkałeś. Dopóki nie masz problemów z harmonogramem, nie ma problemów.
źródło
Przekrój go, po kawałku na raz
Twoja sytuacja jest bardzo powszechna, „opanowanie się” wymaga czasu, jak już wspomnieli inni.
Uważam, że jeśli poradzisz sobie z tym „pojedynczo” , bez względu na to, jak skomplikowany jest projekt, sam go rozwiążesz. Musisz być po prostu logiczny.
Na początek powiedz przycisk, przekop kod źródłowy , umieść punkty przerwania, zobacz, co się dzieje. Są dwie rzeczy, które musisz spełnić:
źródło
Co powiesz na inne spojrzenie: Co musisz wiedzieć o tym kodzie i czy potrafisz to zmierzyć? Na przykład, jeśli próbujesz naprawić błąd, który może wymagać innego rodzaju nurkowania niż podczas próby migracji kodu z jednego języka do drugiego, np. Przejście z VBScript na C #. Jeśli próbujesz usunąć wszystkie wymagania z obecnego kodu, może to chwilę potrwać, ale podejrzewam, że większość ludzi miałaby tego rodzaju problem.
źródło
Pan Aaron Hillegass z inteligentnymi słowami.
Nie jesteś głupi, nie jesteś powolny i nie jesteś nieumiejętny. Jestem na tej samej łodzi, przyjąłem nową rolę, a istniejąca baza kodu jest niewiarygodnie duża i wykazuje oznaki wielokrotnego nadmiernego rozwijania, zajęło mi tygodnie, aby dojść do punktu, w którym czuję, że nawet dostaję blisko pełnej prędkości. Wyobraź sobie, że projekt jest jak nauka nowego języka, nie dzieje się to z dnia na dzień, ale wymaga cierpliwości.
źródło