Code Reading―オープンソースから学ぶソフトウェア開発技法 (2)

引き続きコードリーディングのお勉強です。前回は主にコードを読む動機とそのためのツールでしたが、ここからは本格的にコードを読んでいきます。


Code Reading―オープンソースから学ぶソフトウェア開発技法

Code Reading―オープンソースから学ぶソフトウェア開発技法
トップスタジオ (著)
まつもと ゆきひろ (著)
平林 俊一 (著)
鵜飼 文敏 (著)
¥ 5,460 (税込)


基礎要素の読み方

コードの読み方の基本として、「常識的に考える」ということがあります。たとえば、誰だってわかりにくい名前や間違った名前を付けることはないですよね。「イディオム」的コード(for(i=0;i

C言語の読み方(基本編)

この章及び次の章はC言語の内容です。C言語を読まない人には直接は関係ありませんが、C言語自体、他の多くの言語の基礎になっていることもあり、C言語の読み方は習得しておいて損はないかと。
C言語の特徴的なデータ型、ポインタ・構造体・共用体、またそれに関連するmalloc・typedefのケーススタディーです。それぞれの基本のデータ構造がどのような使われ方をするかを、一つずつ詳細に見ていっています。ここで出てくる各種使われ方は、より複雑なデータ構造の基礎となる部分なので非常に重要です。
たとえばポインタひとつとっても、「リンクドリスト」から「関数の戻り値」や「ダイレクトメモリアクセス」までさまざまな使われ方があります。今読んでいる部分がどの使い方に当たるかを理解できるようになれば、より複雑なデータ構造の理解にもつながっていくため、この基本データ型をさらりと読めるようになると非常にコードを読みやすくなると思います。

C言語の読み方(応用編)

今度はC言語の基本データ型を使った、もっと複雑なデータ構造の解説です。
プログラムに出てくるデータ構造はたくさんあるようで、分類してみると意外に少ない数に分類できることがわかります。この本では、ベクタ・テーブル・スタック・キュー・マップ・集合・リスト・ツリー・グラフが紹介されています。ハッキリ言って、プログラムに出てくるデータ構造としては、これでほぼすべてになるんじゃないでしょうか?それぞれについて、実際の実装のされ方について解説しています。
もちろん細かい部分をみたら、プログラムごとにそれぞれ違う作りになっています。しかし、大枠を切り出せば、ほぼここに載っている内容が理解できれば、自分が読んでいるデータ構造がどれに属するかはすぐ判別できると思います。

次回は

今回はコードの読み方の基本中の基本と、C言語のデータ型実装に関する部分でした。
次回は実際の制御フローあたりになる予定です。