1996年ごろLotus NotesのUnixクライアントの開発の手伝いをしました。
Mirageというライブラリを利用
この時の個人的スキル
Lotus Notesのコードは初めてでしたが、意外にすんなり作業に入れた(はず)
知見
2年間、Iris AssociatesでLotus Notes R5開発に参加
しかし、
徐々に、大規模なコードを読むために、何が足りないのか分かり始める
(コード以外の)メタな情報から高レベルな概念(アーキテクチャ)や用語(コード上の略称)を把握
500万行-600万行のコードが全て頭に入った、とは言いませんが、コツはつかみました。
2000年ごろ、GNU/Linux上のデスクトップ環境に夢を抱いて...
パッチを送って貢献しようという気持ちより、どう書いているのだろうという好奇心でコードを読んでいました
2001年、AirOne(P2Pコラボレーションツール)の開発開始
(BSD系ライセンスの)オープンソースを活用
初期
今
コード規模(apache2.2)
コードのスタイルの特徴
c_count<http://dickey.his.com/c_count/c_count.html>で、コメントとコードの割合(コード1行に対してコメントの行数)を出してみると、
| apache2.2 | 0.40 |
| gtk+2.8 | 0.17 |
| sqlite | 0.63 |
| libxml2 | 0.23 |
| postgresql | 0.36 |
| emacs21 | 0.47 |
| linux2.6 | 0.25 |
mod_proxyとmod_cacheは要注意
作業の環境
以上。
初期の頃はgonzuiで検索したりしていましたが => コードの構成が頭に入るとM-x grep-findで事足りてしまう(etagsすら不要)
こう記事に書く時も、手元のソースツリーで行数を調べて書いています。
記事で嘘を書かないように、自信がない時は
しています。
幸か不幸か、コードに大きな変化はないので、困ってはいません。