Rzeczywiście, samo czytanie kodu jQuery to za mało, żeby go ogarnąć.
Polecam jednak jakieś źródła w necie, tudzież książki. Przy takim wsparciu łatwiej nam będzie zrozumieć kod źródłowy dosyć skomplikowanej biblioteki. Analizę można zacząć nawet od małych fragmentów. Tak długo je drążyć, aż zrozumiemy w 100% każde wyrażenie.
Nie znam niestety łatwej drogi, by to osiągnąć. Może poza konsultacjami z jakimś dobrym programistą, który to ogarnia. Z jednej strony niestety, ale z drugiej strony stety pocieszę Cię, że w Polsce nie ma wcale aż tak wielu koderów JavaScript, którzy swobodnie czytaliby i rozumieli każdy fragment kodu jQuery. Poziom w naszej branży jest po prostu smutno niski, więc jeśli sam tego nie ogarniasz, to nie odstajesz ;). Ale chęć ogarnięcia dobrze o Tobie świadczy i dobrze wróży.
Wg mnie, znajomość samej składni JS-a bardzo, bardzo pomaga. Ja mam już teraz tak, że mogę w głowie przeparsować bodaj każde wyrażenie, jakiego rozsądnie się używa w JS-ie (naturalnie można coś wymyślić na siłę, choć zwykle udaje mi się rozwikłać wiele nawet z tych wymyślonych).
Mi pomogły książki, w tym szczególnie wspomniane "Mocne strony". Oraz prezentacje, w tym sporo tych Douglasa Crockforda. A teraz po prostu lecę na specyfikacji: es5.github.com . Ta specyfikacja nie jest jednak przystępna i też nie polecam jej raczej na sam początek. Opisuje dużo wewnętrznych mechanizmów, które na początku nie będą przydatne i będą tylko niepotrzebnie zajmowały zasoby mózgownicy.
Co do jQuery to zauważ proszę, że to NIE jest biblioteka ogólnego przeznaczenia i remedium na wszystkie problemy JavaScriptu. To bardzo dobra biblioteka do manipulacji DOM. Remedium na bolączki niewygodnego i wciąż nie do końca kompatybilnego DOM API. Fakt, większość skryptów na prostych stronach to w dużej części manipulacje na DOM.
Ale bardziej skomplikowane aplikacje wymagają po prostu solidnego programowania. Podziału na obiekty, kompozycji, dziedziczenia, funkcyjności... inżynierii oprogramowania. Tutaj jQuery ma bardzo mało do powiedzenia.
Książka Crockforda jest dobra, wg niektórych również dlatego, że jest krótka. Gęstość informacji jest w niej duża. Ale naprawdę, jest stosunkowo wymagająca jeśli chcesz mieć jakiś poziom zrozumienia. Trzeba ją czytać bardzo uważnie. I nie uważać stylu Crockforda za jedyny słuszny. Wg mnie, niektóre z jego propozycji są w sensie stricte złe, tzn. minusy dominują nad plusami. Np. forsowanie jednego var
na funkcję, a szczególnie forsowanie definicji funkcji przed pierwszym użyciem -- to przeczy uniwersalnym zasadom inżynierii oprogramowania.
Crockford jednak NA PEWNO dobrze tłumaczy podstawy samego JavaScriptu. Czyli dziedziczenie prototypowe i funkcyjność. Obie są ważne, mają duże znaczenie w jQuery. Oprócz nich, Crockford opisuje też wiele drobniejszych rzeczy, ale spora ich część i tak ostatecznie wiąże się z funkcjami i prototypowością. Np. this
(temat-rzeka: utrata i zapamiętywanie kontekstu, .call/.apply...) czy arguments
ściśle się wiążą z funkcjami. Dostęp do własności czy pętla for..in
(i jej bolączki) wiążą się z dziedziczeniem prototypowym.
To właśnie opisuje Crockford. Przykłady mogą się nie wydawać praktyczne, bo nie wklei się ich raczej na stronę. Ale te informacje zbliżają Cię do poziomu zrozumienia typu: jeśli widzę te kilka linijek i trochę pomyślę, to je zdekoduję w głowie; nic mnie nie zaskoczy.
Strasznie nie lubię określenia "guru" czy raczej samego "kultu". Uważam, że do wszystkiego trzeba podchodzić krytycznie. Nie sądzę, że wierzenie komukolwiek na ślepo (w tym mi) jest słusznym podejściem.
Zauważyłem jednak, że gdy nie ma czasu na wskazanie konkretnych rzeczy, dość praktycznym -- i być może najmniej złym -- rozwiązaniem jest podanie... nazwisk ludzi, którzy zwykle piszą rozsądnie i którzy raczej zbyt wielu głupot nie palną ;-).
Poszukaj w necie albo w księgarni tych kolesi:
Douglas Crockford (ten od Mocnych Stron)
Dr Axel Rauschmayer (jego szczegółowe i bdb tłumaczenia różnych elementów na JS można znaleźć tu: http://www.2ality.com/ )
Addy Osmani (z Google; skupia się na wzorcach i narzędziach i niestety niektórzy koderzy ślepo idą tylko w te dwie rzeczy, ale Addy to ogarnięty facet, gadałem z nim niedawno na konferencji -- on sam rozumie JS bardzo dobrze i nie jest fanbojem samych wzorców i narzędzi)