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

コードリーディング3回目になります。今回は言語に限らずに出てくる制御構造の話、そして一度プログラム本体を離れてプロジェクトに関する話題となります。


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

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


プログラムの"流れ"について知る

実際のプログラムの動きでよくつかわれる構造についての解説です。具体的には再帰・例外処理・並列・シグナル・ジャンプ・置換となります。
個人的には少しこの章は残念でした。ここではプログラムを書いている上で基本的な内容が多く、「これは新しい発見だ」ということはあまりないかもしれません。むしろ「再確認」という内容の方が多いかな?という感じです。
ただ、実際のプログラムでは、この制御構造という部分でこそまさに職人芸的な非常にうまいコードに出会うものです。もちろん狭い紙面に書ききれるわけはないという都合があることも承知ですが、もう少し面白い「実例」を載せてくれていたらよかったのになと思います。

ソース以外の部分から探る

この本の定義として、

なお、ここでは「コード」という用語の意味をできるだけ広く捉え、プロジェクトを構成するすべての機械可読要素 ー ソースコード(およびそのコメント)、ドキュメント、実行可能プログラム、ソースコードリポジトリ、デザインダイアグラム、設定スクリプト ー を指すものとします。 - p2

と書いてある通り、ソース以外の部分も重要な「コード」であるというスタンスです。ここではそのうちプロジェクト開発で使っているような「コード」から読み解く方法の解説になります。と言っても、ここでは企業のプログラムの仕様書のようなものが出てくるのではなく、どちらかというと巨大オープンソースソースコード以外から読み解こうという話です。
よくできているプロジェクトというのは、そのソースコードの管理方法(ディレクトリ構造や説明ファイル、名前の付け方、リビジョン管理)などもよくできています。そのため、コードを読むときにもこれを活用しない手はない、と考えるのは普通のことでしょう。ここではその活用法を教えてくれます。
また、大きなプロジェクトでは、一つずつコンパイルするのは大変なのでMakefileを使う、使う環境に合わせて変える必要があるので設定ファイルを使う、ということもよくあること(というかほとんど)です。そういうものもコードを読むために使っていくという方法を教えてくれます。

使えるものはどんどん使おう

ここで言いたいのは、結局ソースコードだけがコードではないよということでしょう。実際にその周りの部分だって作られたわけがあるのですから、そういう部分をわかってあげられるとソースコードを読む助けにもなるよ、ということ。

次回

次はコーディング標準やドキュメントの話です。ここら辺は読む側としてだけではなく「読ませる側」として見ていくのもいいかもしれませんね。