いろいろな意見がありますねー。
まつもとさんから。目的を持って読むのが極意ですか。言われてみれば確かにそうかも。なんとなーく興味だけでカーネルのソースを読んでみてもさっぱり理解できないけども、「GC の仕組みを調べよう (それ以外はどうでもいい)」というように明確な目標を持っていると非常に見通しがよくなりますね。
なひさんから。おもしろくないソースは読まない。逆に言えばおもしろいソースを読むと。なるほど、これも納得できます。どんなに難しくても面白ければなんとかなってしまう、というのはよくあります。子供がポケモンの歌を何の苦労もなく覚えられるのと同じ理屈ですねっ。
それとバカが征く」から。ソースを書き換えながら読む、というのも確かにやりますー。「ここはこういう名前のほうがいいんじゃないか」と考えてみるとか、とにかく自分の好みに変えていく。ソースを変更して動かしてみて (またはコンパイルしてみて) 影響範囲を調べたりするのは便利ですね。
さらにたむらさんの日記から。やっぱり時代はとっくに IDE なのか……。と言ってもですね、正直なとこ言うと、別に IDE は嫌いじゃないんですよ。ただマウスで作業させようとするのが嫌いなだけなんです。GUI も嫌いじゃないんですよ。ただマウスで作業させようとするのが嫌いなだけです。コマンドラインから操作できて端末用コマンドが (も) 使える GUI だったら、さらに自分で機能が好きなように拡張できるなら、何も文句は言いません。
そういえば、ぼくは肝心なとこは印刷していろいろ書きこみながら読むんですけど、みなさんは紙は使いますか? 紙だととにかく図が簡単に書けるのがいいと思うんですよね。それにモニターは狭いのでソースコード二つを横に並べるともう幅が足りなくなるのが気に入りません。さらに図を書くとなるともう……。パソコンも進歩しましたけど、なんでこうモニターの大きさだけはたいして変わんないんでしょう。まともに作業したかったら最低 50 インチくらいは必要ですよ、絶対。日本 IBM の社長も「ウィンドウ切り替えなんて役に立たん」って言ってデスクにパソコン三台くらい並べてるそうです (しかしそれはそれでキーボードが多くて嫌だ)。
大変参考になるシリーズ「ソースコードを読むための技術」で、おもわずほじって呼んでいます。ありがとうございます、感謝しております。
ぼくはツールとして「仕様書工房」っていうの使っています。
まあ概要みるのと、ドキュメントの体裁つくるのにはかなり便利です。あとソースへのドキュメントの書き方が標準化されるのも副次効果でいいかもしれません。
ソースの読み込みは僕も紙に打ちだして、4色ボールペンでいろいろ書き込みながら読んでいきます。
解らない処理やキーの部分とかに赤を使って「?」とか「☆」とか書いておいて、解ったらそこに追記していくという感じです。
やはり直接メモを図でも矢印でも簡単に書けるので一番便利です。
紙のソースを読むのに、補助としてPCのツール(Grep,仕様書工房)とかを使います。
あと仕様読むだんかいからですが、自分の解らないキーワード、最重要キーワードとか略語とかはエクセルで簡単な辞書の表を作ります。 ついでにこの辞書のキーワードごとにリンク設定したりしておきます。ファイル単位のリンク指定ですが、文書内の指定までできるともっと便利ですね。そんなツールほしいですね。