人のコードを読むのは確かに大変な部分ですよね。
特に、きれいに書いてくれている人とそうでない人とでは読むコストが段違いです。
なので、もしきれいに書いてくれていないのであれば、それなりに時間がかかるのは仕方がないかなとは思います。
ちなみにコツというほどのことではないですが、プログラムは「言語」と名のつく通り、日本語や英語と同列に考えると違った視点で見れるかなと思っています。
どういうことかというと。
日本語であれ英語であれ、「自然言語」を読むときというのは、「文章の塊」を認識、全体を推測しながら「この文章は何を話しているのだろうか」というのを無意識に考えながら読んでいると思います。
(つまり、詳細を追っているのではない、ということです。例えばセンテンスの最初と最後の文字が一緒なら、単語の中の文字の並びがばらばらでもある程度読めてしまう、というあれです。「しんゅじく」と書いてあっても「新宿」と読めてしまう、的な)
プログラムも同様のことが言えて、「このブロックはなにをしているのか」を、ある程度の塊で見るようにしていくと、意外と理解が早まるものです。
つまり、for文やif文などの細かいところを見るのではなく、「ここではなにか特定の値を求めているのだな」というくらいのざっくりとした理解で次に進む、ということです。
そしてメソッド全体、さらにはクラス全体の意味をなんとなく理解した時点で、改めて各メソッドやブロックが具体的にどんな処理をしているのか、を見ていくと概要から詳細へ読み進めるような感覚で内容を理解できるようになると思います。
実際問題として、バグ修正でもない限り、1行1行しっかり噛み砕かないとダメ、というケースは稀だと思います。
塊としてどんな処理を行っているのかが分かるだけでいい、と気楽にプログラムを読んでみてはいかがでしょうか。
退会済みユーザー
2017/02/14 21:30