Code Reading


Code Readingをリーディング。


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

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


今日は 2つの章を読了。


8章 ドキュメント
3章 Cのデータ型(上級)


8章は、ソースコードを読む前に
ドキュメントがあれば読もうね、ということ。
そして情報のすくい取り方について書かれてある。
「こんなドキュメントもありまっせー」的なのも。
あと、troff, Texinfo, Docook, javadoc, Doxygen などの概要。
そういえば troff, man, mdocでドキュメント書いたことなかった。
自分で書いたAPIとかツールの説明を
man形式で用意しておくのも悪くないな、と思った。


3章は Cのデータ型。
オブジェクト指向の実装方法とか、具体例とか。
構造体に関数ポインタを用意してオブジェクト指向する例。
netbsd/sys/sys/file.h
の例があった。
read, write, ioctl, poll, close を共有する仕組み、
これから必要になるのでおさえる。
いままではオブジェクト指向やるなら素直に C++使おう、って
思ってたけど、file構造体の実例を見ると、Cでやる気も出てきた。


あと共用体で「多態の実装」をするのは
ここのところ yacc/lexで木構造を構築するパターンで
何かとお世話になっていて、ますます重要になっているな、と思ったり。
alloca() の使用に関する態度が FreeBSDGNUコミュニティとで
異なっている、とか。
他にもどういう違いがあるか、見ていこう。


本書のリーディングも折り返し地点付近。
失速しないよう、うまく分割して続行しよう。