データ構造のサイトマップ
カーネルのように大きなプログラムになるほど,使われているデータ構造を理解することが重要になる.データ構造がわかるとコードを追うのが楽になるので,Cのコードを読むときは,まずヘッダファイルを眺めて感じを掴むことが多い.また,ひらさんの講演資料を見ると,データ構造のわかりやすい可視化に命を懸けているようにみえる.
ひらメソッドでは関数呼出しを切口にボトムアップに読んで行くアプローチだけど,データ構造を切口とした読み方ってのは考えられないだろうか?
例えば,g:plan9reading:keyword:Lock構造体のページの下の方を見ると,「「Lock」を含むキーワード」って項目がある.完全一致じゃないので,わかり難いけど,lock()やunlock()という操作関数があるんだなとわかる.Lockの例はいまいちだけど,これを基にあるデータ構造が産まれてから,変化して,死ぬまでのサイトマップ?が作れるんじゃないかな.ある程度の量を読み進めた後で,データ構造の視点から読みかえしてみると理解が深まりそう.