**「文法を覚える」「単語の意味を覚える」**の2ステップで考えるといいと思います。
分かりやすく一般的な言語に置き換えましょう。
例えばI love you.
とIch liebe dich.
という2つの文章があります。
ここに「この言語もSVC構文である」「2つの文章はどちらも『私はあなたを愛しています』という意味である」という情報があればI = Ich / love = liebe / you = dich
だなと推測することが出来ます。
これを元にすればIch hasse dich.
という文章を見た時に「私はあなたに何かしている」ということは分かりますし、後はhasseの意味を調べればいいだけになります。
逆に事前情報一切無しでMahal kita.
と言われても全く意味不明だと思います。(※ちなみにこちらはタガログ語)
プログラム言語で言うなら、文法とは構造や表記上のルール(タグは<>で囲むとか、$は変数を指すとか、functionは関数の定義とか)、単語の意味とはメソッドや命令文の仕様や使い方です。
「何となくコードが読める」のは「文法が見て分かりやすい or 自分の分かる言語と似ている」「読めば分かる単語が使われている」からでしょう。
「ぱっと見で読めない」ということは多分文法からして分かっていない、自分の知識と照らし合わせられないということなので、分かるまで色々なパターンを読む&作るしかないです。
いわゆる「写経」はこの為にあります。
「こういう構造だとこう動く」→「ということは、ここをこうするとこう動く」ということを繰り返していけば徐々に分かるようになると思います。
ただし、(良くも悪くも)「何でこれで動くんだ?」というコードも世の中にはあるので、お手本は選んだ方が良いとは思います。