Czy konieczne jest zapamiętanie kodu?

10

Jestem nowym programistą, który właśnie został zatrudniony w dużej firmie. Nie wiem jak, ale chyba są zdesperowani. Jednak jestem dobrze zaznajomiony z HTML5 / CSS3, chociaż rzeczy się zmieniają, nowe rzeczy są wypuszczane i nadążam jak najwięcej. Ale ta praca wymagała ode mnie ręcznego kodowania Javascript, znajomości Jquery i Ajax. Trochę mnie to spotkało, ale nie jestem pewien, czy potrafię ręcznie kodować Javascript.

Moje pytanie brzmi: czy konieczne jest zapamiętanie wszystkiego, co jest związane z Javascriptem, czy też jest kilka kluczowych rzeczy, które powinienem wiedzieć, jak ręcznie kodować, ponieważ patrząc na kod javascript, wydaje się, że jest dużo kodu linii!

Proszę wskazać mi właściwy kierunek.

AAA
źródło
4
Może nie są zdesperowani. Może po prostu masz wielki potencjał!
superM
3
heh, miałem przyjaciela, który chciał nauczyć się programować i zaczął od HTML / CSS / JavaScript. Mówił mi „Właśnie skończyłem zapamiętywanie„ xyz ””, uśmiechnąłem się i powiedziałem mu, że powinien po prostu nauczyć się pojęć rzeczy, a następnie znaleźć dobre odniesienie do użycia. Wiedząc, że w języku abc jest coś , co robi wszystko, co jest wystarczająco dobre. Możesz to sprawdzić w instrukcji / ref. Zapamiętasz podstawy, kontynuując programowanie i będziesz potrzebował instrukcji nieco mniej.
programista
2
Podręczniki referencyjne istnieją nie bez powodu. Zapamiętasz rzeczy, których używasz na co dzień, po prostu przez powtarzanie, ale we wszystkim innym, po prostu trzymaj dobrą instrukcję obsługi pod ręką.
John Bode
4
Moja pierwsza praca programistyczna była świetna. Miałem tego kolegę, który na początku patrzył na mnie z góry za to, że często korzystałem z referencji. Zapamiętał dosłownie wszystko. Potem był zdumiony tym, co wyprodukowałem. W końcu nie potrzebowałem już książek, a on był moją encyklopedią dla zwierząt. Najważniejsze jest to, że wiesz o opcji, wiesz, że ona istnieje, a nie dokładnie pamięta dokładną składnię.
Pieter B,

Odpowiedzi:

33

Dzisiaj w naszej pracy, podobnie jak w życiu, ważniejsze jest, aby wiedzieć, jak znaleźć informacje, niż znać same informacje. Mam na myśli, że dobry programista to osoba, która potrafi znaleźć dokumentację, sieć i dzielić się tym z otwartym umysłem.

Jestem doświadczonym programistą .NET i, wierz mi, do każdego projektu, nad którym pracuję, muszę się uczyć nowych rzeczy na temat języka i środowiska programistycznego. Nasza praca jest zawsze bardziej skomplikowana, więc nie martw się. Wskaż swoją uwagę na rozwiązywanie problemów, a następnie poszukaj pomocy. Wszystkie rozwiązania już istnieją; musimy być w stanie je znaleźć.

AngeloBad
źródło
Dobra odpowiedź. Podczas gdy najczęstsze problemy z pewnością mają istniejące rozwiązania, muszę zaznaczyć, że wszystkie rozwiązania nie istnieją i wiele problemów w ogóle nie da się rozwiązać.
PRZYJEDŹ Z
To zależy od tego, którą domenę problemu rozważasz. Pytanie jest ograniczone. Oczywiście, jeśli weźmiesz pod uwagę cały problem, na pewno ktoś pomyli się z rozwiązaniem.
AngeloBad
1
nie mogę się bardziej zgodzić co do tego, „ważniejsze jest wiedzieć, jak znaleźć informacje, niż znać samą informację” „Skieruj swoją uwagę na rozwiązywanie problemów, a następnie szukaj pomocy” - właśnie to robię.
zinking
2
Chociaż zgadzam się, że ważne jest, aby móc wyszukiwać informacje, nadal masz obowiązek „znać swoje rzemiosło”. Jeśli nie możesz ręcznie napisać kodu Java, to jest po prostu śmieszne. Jeśli chcesz być profesjonalnym programistą, nie możesz polegać na kulach przez całą swoją karierę.
Bryan Oakley
Radość z Google jako narzędzia programistycznego. :-)
MathAttack,
9

Po pracy z czymś przez jakiś czas nauczysz się / poznasz ważne rzeczy automatycznie.

Nie trzeba znać wszystkich interfejsów API, list parametrów funkcji itp. Istnieją dokumenty dotyczące takich rzeczy. Mówiąc ogólnie, musisz wiedzieć rzeczy lub gdzie je znaleźć.

Weźmy na przykład $.ajax()funkcję jQuery. Wiem, że to, co robi i powszechnie używane opcje takie jak url, type, data, itd. Jeśli muszę coś niestandardowe, mogę otwierać dokumenty i sprawdzić je.

Szukając rzeczy, musisz mieć pewność, że Twoje źródła są wiarygodne i aktualne. Na przykład MDN jest, podczas gdy w3schools nie .

ThiefMaster
źródło
Dzięki. Teraz czuję się znacznie lepiej, ponieważ jest to moje pierwsze doświadczenie w pracy z kimś przy tworzeniu stron internetowych. Nie byłem pewien, jak do tego podejść. Najwyraźniej są to środowiska o ciekawych faktach, więc sądzę, że będę się uczyć wielu rzeczy, zanim tam dotrę i codziennie, że tam jestem i wracam do domu! Dzięki jeszcze raz!
AAA
3

Nie podjąłbym żadnego konkretnego wysiłku, aby zapamiętać wszystko, co robisz. Najlepiej jest uczyć się na bieżąco. Jeśli znajdziesz coś więcej niż 3 razy, czas zapamiętać.

Wyjątki od tej zasady:

  • Podstawowe elementy w kodzie
  • Skróty ramowe
SomeKittens
źródło
Dzięki! Masz na myśli często używane kody i skróty ramowe, jeśli zaangażowany jest szkielet. Jakieś zasoby, które możesz zasugerować, aby uzyskać doskonałą ekspozycję na ajax / json / jquery / js? Dzięki jeszcze raz.
AAA
2
Zacząłem uczyć się właściwego JS, zanim przejdę do innych.
SomeKittens
3

Najważniejszą rzeczą, którą musisz zapamiętać, jest JAK rozwiązać problem, a nie CO napisać . Jeśli wiesz, jak rozwiązać problemy, możesz zastosować tę wiedzę w dowolnym języku i technologii.

Myślę, że zapamiętywanie kodu to tylko strata czasu. I tak zapomnisz, jeśli nie użyjesz go poprawnie. Co do podstawowych rzeczy, jak powiedział ThiefMaster, z czasem zapamiętasz je i użyjesz automatycznie.

To jak opowieść o rybaku, który może albo dać głodnemu człowiekowi jedną rybę, albo nauczyć go łowienia. Myślę, że zdecydowanie lepiej jest nauczyć się łowienia ryb.

superM
źródło
2

Po pierwsze, nie poddawaj się. O ile nie wprowadziłeś w błąd swoich umiejętności i nie skłamałeś w wywiadzie, masz coś, co uznają za wartościowe. Zaimponowałeś im na tyle, aby dostać pracę, a to nie lada wyczyn w dzisiejszych czasach.

Po drugie, skoncentrowałbym się przede wszystkim na nauce struktur programowania i ich implementacji w javascript. A dla następnej pętli to dla następnej pętli, to dla następnej pętli itp., Jedyne co innego to, czy jest dla x: = 1 do 30, czy dla (i = 0; i <30, i ++) lub czegoś innego.

Po zapoznaniu się z podstawowymi pojęciami możesz zastosować je w prawie dowolnym języku programowania z niewielkimi poprawkami, a zaczniesz uczyć się, jak stosować skróty, bardziej ezoteryczne rozwiązania.

Następnie gdzieś w linii firma powie „Potrzebujemy kogoś do wykonania X”, a ty możesz powiedzieć „Mogę to zrobić”.

JohnP
źródło
1

Co masz na myśli mówiąc „wymagane do przekazania kodu”? Czy nie pozwolą ci na uruchomienie Eclipse lub niezliczonych narzędzi, które wykorzystują te języki? A może po prostu próbują ocenić twoje podstawowe zrozumienie? Codziennie pracuję w wielu językach (C ++, Java, JavaScript, Php), więc często zapominam o dokładnej składni tego, co chcę zrobić. Powiedzmy, że chcę uzyskać część ciągu po pierwszej spacji w Javie. Używam indexof („”), aby znaleźć pozycję, a następnie substring (), aby uzyskać resztę ciągu. Nie pamiętam, czy jest to indexOf, ale nie ma sensu używać Eclipse i oszczędzać kilka minut na braniu dokumentów.

doug

SnoopDougieDoug
źródło
1

Pracuję nad moim obecnym projektem od kilku lat i zdziwiłem się, ile bazy danych zapamiętałem. Oczywiście informacje te są łatwo dostępne do wyszukiwania, ale kiedy się czegoś tak zaznajomisz, nie możesz nie pamiętać. Mój szef zadał mi pytanie ad hoc, a ja zadałem pytanie, gdy szokująco wyjrzał mi przez ramię. Miło być rozpoznawalnym; ciesz się póki możesz.

Zwykle nie jest to wcale dla mnie prawdą. Używam wielu narzędzi do śledzenia rzeczy i wyszukiwania próbek kodu. Zgaduję, że jeśli popracuję nad czymś innym, część tego zniknie.

Jeśli twoja praca wymaga pracy nad różnymi projektami przy użyciu różnych narzędzi, nie będziesz biegły w wielu z nich. Zdolność do pojmowania koncepcji i uczenia się nowych rzeczy będzie ważniejsza na dłuższą metę, ponieważ wiele się zmieni. W pewnym momencie nie powinieneś szukać składni if ​​/ then / else w wybranym języku 5 razy dziennie.

JeffO
źródło
0

O ile mi wiadomo, nie musisz zapamiętywać całego używanego kodu. Automatycznie przyzwyczaisz się do kodów, które są ważne w twojej dziedzinie, które pojawiają się wielokrotnie w twoim zadaniu. Ale najważniejszą rzeczą, którą musisz zrozumieć, jest to, co zamierzasz zrobić, po czym możesz użyć Google, aby wiedzieć, jak to zrobić, nie mówię, że dostaniesz cały kod w Google, ale możesz użyć jego odwołania .

Ishan Shah
źródło