Nauka kodu na pamięć

0

Cześć wszystkim! Czy uczenie się kodu na pamięć to jest normalka w świecie programistów? Widzę tutorial do danego projektu i koleś sobie klepie 100 linii kodu bez przerwy. Siedziałem czasami po 2-3 dni powtarzając ten sam kod tak by wiedzieć co robi i żeby go zapamiętać. Czy ktoś może mnie nakierować i wypowiedzieć się na ten temat? Czuje się jakbym wrócił do szkoły i musiał uczyć się wiersza na pamięć. Dołuje mnie to bo ciągle myślę że ktoś kiedyś np. na rozmowie o prace powie mi napisz mi to i to, a ja nie będę tego pamiętał. Z góry przepraszam jeśli jest to kolejny temat ale w szukajce znalazłem 6000 stron na temat nauki.

6

Kursy mają to do siebie, że:

  • autor wcześniej ten kod napisał i teraz idzie mu szybko,
  • autor chce wykazać się zajebistością,
  • oba powyższe (dotyczy wielu kursów).

Nauka - jakakolwiek by nie była - ma to do siebie, że wymaga praktyki. Mało kto umie po obejrzeniu materiału.

1

Czyli rozumiem że bez sensu uczyć się kodu na pamięć nawet jak się go rozumie tak?

2

W wielu przypadkach to jest bez sensu. W programowaniu najważniejsza jest umiejętność rozwiązywania problemów. Jeśli w pracy dostaniesz zadanie i wiesz jaki algorytm napisać, to kod z automatu pojawi ci się w myślach. To po prostu wymaga ćwiczeń a nie wkuwania.

0

Dziękuję bardzo :)

0

A podałbyś przykład takiego kodu? Bo składnia po jakimś czasie powinna wejść Ci w nawyk mimo wszystko. Ile już programujesz?

11

To jest tak dziwne pytanie że trudno mi sobie wyobrazić że jest na serio. To jest tak jakbyś pytał czy pisarze uczą się zdań na pamięć, bo przecież siadają czasem i piszą ich kilkadziesiąt pod rząd :D
Przecież jeśli wiesz co chcesz napisać, to siadasz i piszesz, szczególnie jeśli wcześniej przemyślałeś sobie design.

2

Dołuje mnie to bo ciągle myślę że ktoś kiedyś np. na rozmowie o prace powie mi napisz mi to i to, a ja nie będę tego pamiętał.

Ty masz umieć stworzyć rozwiązanie a nie odtworzyć. Nie jestes w stanie się przygotować na niezliczoną ilość zadań rekrutacyjnych i ich kombinacji.

0

Na studiach informatycznych każą pisaż kod z pamiąci ale uczysz się tak, żeby kod zamienić na pseudoprogram podzielony na bloki logiczne. Zapamiętujesz te bloki i mniej więcej kod. Potem odtwarzasz kod na podstawie bloków, zasadniczo samego kodu nie trzeba zapamiętać bo powinieneś dać rade go odtworzyć, jeśli dobrze określiłeś to robi blok. Czyli odtworzony kod może trochę się różnic od oryginalnego, ale będzie robił to samo.

0

Trochę pytanie nie na miejscu, oczywiście zależy od sytuacji. Ja czasami sobie klepie jakieś zadanka na spoj i jak jest z tych łatwych to te kilkadziesiąt linii kodu napisze jednym tchem, puszczam do sprawdzenia i zostaje zaliczone. W pracy biorę US, czytam, pisze fragment kodu i gdyby ktoś usiadł z boku to by pomyślał, że z pamięci go pisze.

To wszystko zależy od rodzaju pisanego kodu, IDE i obycia z danym językiem/frameworkiem.

2

Czuje się jakbym wrócił do szkoły i musiał uczyć się wiersza na pamięć.

Nie chodzi o uczenie się na pamięć, tylko o wprawę, umiejętność posługiwania się narzędziami.
Czyli raczej można to porównać do "ogólnej umiejętności pisania wierszy" niż do "znajomości jednego wiersza na pamięć".

Tak jak @Shalom napisał - porównanie z pisarzami jest w sumie bardzo dobre.

Jak człowiek robi coś długo, to normalne, że robi to szybciej, bardziej sprawniej, mniej się zastanawia nad błahostkami.

Tak jak z nauką języka. Najpierw musisz myśleć nad każdym słowem albo sprawdzać w słowniku. Potem dopiero nabierasz płynności, ale dalej wolno składasz zdania. A dopiero potem ludzie potrafią zapieprzać. Czy ktoś, kto powie 100 zdań w obcym języku z prędkością błyskawicy, musiał się wykuć na pamięć tych zdań? No nie. Może po prostu ma tak wielką płynność w języku, że się posługuje nim swobodnie.

Na pewno jest w tym jakiś aspekt pamięci (żeby pamiętać słowa, zasady gramatyczne, zwroty itp.), ale jak człowiek naprawdę coś zna, to robi to odruchowo, podświadomie.
https://en.wikipedia.org/wiki/Four_stages_of_competence
Unconscious competence
The individual has had so much practice with a skill that it has become "second nature" and can be performed easily. As a result, the skill can be performed while executing another task. The individual may be able to teach it to others, depending upon how and when it was learned.

1 użytkowników online, w tym zalogowanych: 0, gości: 1