Jestem nowym programistą i chcę zapytać starszych programistów (programistów, którzy mają pewne doświadczenie w prawdziwym świecie).
Wykonuję swoją pracę i po kodowaniu mój projekt jest ukończony, ale szczerze mówiąc, nie pamiętam kodu, klas i ram oraz ich właściwości.
Czasami nawet wątpię w to, że to zrobiłem?
Czy to normalne u wszystkich programistów, czy też jestem najgłupszym programistą, który nie pamięta kodu i nazw klas / właściwości?
Edytować:
Myślę, że wielu programistów źle mnie tutaj myli. Powiedziałem, że zapomniałem nazw frameworków, nazw klas, nazw właściwości, ale zaczynam zapamiętywać własny kod, gdy zacznę ponownie nad nim pracować. Moje pytanie brzmi: czy pamiętasz nazwy składni i klas / właściwości itp.?
źródło
Zapamiętywanie całej składni i interfejsu API dla projektu nie jest tak ważne, jak pamiętanie koncepcji, które przyczyniły się do jego budowy. Po zdobyciu doświadczenia możesz przeczytać kod i dowiedzieć się, jak to jest czytać te posty.
Z biegiem czasu znajdziesz, jeśli aktywnie poprawiasz, to, że zobaczysz wady tego, co napisałeś w przeszłości, po prostu czytając stary kod (który zalecam). Dzięki tej praktyce łatwiej jest to zrobić; tak jak każda inna umiejętność.
Prawdopodobnie napisałem już ponad milion linii kodu w mojej karierze i nie ma mowy, żebym to wszystko zapamiętał. Pamiętam jednak projekty i to, co próbowali rozwiązać (i techniki, które je rozwiązały).
źródło
Zapomniałem wielu rzeczy po ich użyciu, ale zapominam o nich inaczej.
Przez lata obserwowałem siebie i doszedłem do wniosku, że nasz mózg (dobrze, mój mózg) stosuje pewną strategię buforowania:
Nowe informacje są przyswajane, wykorzystywane, a następnie umieszczane w kolejce przedawnienia. Za kilka tygodni zniknęło.
Powtarzający się dostęp do tych informacji raz zdobytych nie później niż kilka miesięcy wstecz promuje je w jakiś sposób, tak aby można je było zapamiętać przez wiele miesięcy, ale dopiero wtedy wygasają.
Powtarzający się dostęp do bloków wiedzy w ciągu kilku lat, z lukami w użytkowaniu przez kilka miesięcy, promuje je do pewnej pamięci priorytetowej, w której przechowywano je przez lata.
PS Podejrzewam, że pierwszy pomysł na pamięć podręczną z aplikacją na komputery przyszedł od kogoś, kto obserwuje, jak ludzie uczą się i zapamiętują różne rzeczy. Więc niczego nie wymyśliliśmy, po prostu wzięliśmy to, co już zostało w nas wbudowane.
źródło
Często. Komentarze stały się passe ”, ale zwykle mogę rozpoznać kod po komentarzach.
EDYCJA: Nie mówię, że zgadzam się z tym trendem. Mówię tylko, że dzisiaj jest to trend. Jak podkreśla Dave, z pewnością jest punkt krytyczny. Jest tu doskonale cudowna dyskusja: „Komentarze to zapach kodu” . Zgadzam się z obozem „Komentarze dotyczą dostarczania informacji o świecie POZA bazą kodów (wymagania, zmiany biznesowe itp.)”.
źródło
Składnia Zasadniczo pamiętam po kilku zastosowaniach. Na przykład, kiedy po raz pierwszy zacząłem używać generycznych lub linq, miałem pewne trudności z poprawną składnią.
IntelliSense zdecydowanie ułatwia moją pracę w zapamiętywaniu nazw właściwości i metod.
źródło
Kiedy byłem testerem, główny deweloper firmy powiedział mi kiedyś, że kod został napisany 6 miesięcy temu, żaden z moich ludzi nie może zostać pociągnięty do odpowiedzialności. Wtedy mnie to zszokowało. Teraz, kiedy przeszedłem na programistę, rozumiem. Nie pamiętam szczegółów kodu, wiem, że nad nim pracowałem, ale szczegółów nie ma.
źródło
Prawie zawsze. Mój najnowszy (bardzo mały) projekt był testem moich (rdzewiejących) umiejętności. Zmusiłem się do napisania zestawu kodu proceduralnego w bardzo prostym stylu C, a następnie przekształcenia go w kod Java przy użyciu pewnych wzorców projektowych i utrzymując każdą metodę do nie więcej niż ośmiu wierszy, jeśli to możliwe.
Odkładam kod na około miesiąc. Kiedy wróciłem do tego, minęła godzina, zanim zdałem sobie sprawę, że to napisałem. Szczerze mówiąc, nawet gdybym wpisał swoje nazwisko w polu komentarza, nie jestem pewien, czy to by mnie przekonało.
źródło