How to read code: not top to bottom.
Read like an investigator — one question, trace one path. Shape first (names, types), then data.
Run it. A debugger teaches more in 10 min than staring for an hour.
End by changing something — you learn code by modifying it, not viewing it.