私は本を結構買いました。最初は自分のやりたいことがサンプルとして載っている入門書を中心に。
らくだ本とかはずっと後になってから。
まずはサンプルままに書いて、次に自己流に書き直して、エラーが出たらお手本のコードと見比べてその違いを知る。この繰り返しで勉強しました。
そして、ある程度覚えてからも、最初に買った入門書を何度も読み返しました。すると必ず以前は気づかなかった発見が必ずあるものです。

他人のソースは参考にはしても、ちょっとだけ改造して利用とかはあまり考えませんでした。よくわからないままルーチンを使うよりも、機能は少なくてもきちんと理解できるものを少しずつ積み重ねてゆくのが結局は近道だと思います。