前回のおさらい
前回の記事では SQLite のソースコードを入手するところまで終わった。
私はまだソースコードの海原に帆を立てていない。というか船を浮かべてすらいない。そもそも旅の計画を立てていない。私は夢見る少女じゃイラレない。このままでは遠足の 1 週間前に「バナナはおやつに入りますか?」と質問する小学生の方が今後の見通しが立っているではないか。
とはいえ、前回の記事を投稿してから何もしていなかった訳ではない。あれから私は焼き鳥を 40 本買い、駅の非自動ドアに顔から衝突し、歯医者から歯をゴリゴリされ、SQLite のソースコードをざっと眺めたりなどしていた。
ところで "SQLite" でいいの?
ところで、表記は"SQLite"でいいのだろうか。今更不安になってきた。
公式サイト のロゴには"SQLite"と書いてある。ハイデガーも「確認はメンタルの安定に一躍買う」って言ってますからね、確認してよかった(きっとハイデガーはそんなこと言ってない)。
ソースコード多くないか?
緩和救済、もしくは閑話休題。
ソースファイルをざっと見た感じ、「SQLite のソースコードを全部読む」って池の水を抜くのと同じくらい大変そう。それでも全部読めないことはない……気がする。SQLite を開発する人たちって、この絶妙なラインを意図的に維持してるのだろうか。
きっとSQLite の開発規約に
3.4.16 ソースコードの分量
ソースコード全体の分量は以下の基準を維持すること。
* 一人で全部読むために3ヶ月以上かからない。
* ソースコードを入手した人の1/3は読む気にならない
みたいな一文が書いてあるんだろうな。
そんでこの基準を「3の法則」とか呼んでるんだろうな。きっと。
とりあえずコマンドプロンプトで以下のコマンドを実行
cd (SQLiteのソースコードを展開したフォルダ)
tree >file.txt
tree /F >dir.txt
ファイル数、2000 個くらいあるジャマイカ。。。
思ってたより多いな。ソースコードをアルファベット順に読んでいくのは非効率な気がするぞ。
まあ、ファイル名やフォルダ名を一通り読んでみて、どの順番でソースコードを読むか決めてみよう。
今後の読み進め方(2022-03-07 現在)
次回から以下の順番でソースコードを読み進めていこうと思う。順番はファイル名とかREADME
を読みながら今日のノリで決めた。ので、十中八九この順番にはならないと思うよ!
-
src/
SQL の処理とかメインの処理をいろいろやってるみたい。 -
tool/
src/
内のファイルを一通り読んだらこっちも読む。メイン処理を補助する系のソースコードが置いてあるみたいなので、必要に迫られたときにも読んでいく予定。 -
ext/
機能を拡張するためのソースコードが入ってるみたい。読むのは後回しにする。ちなみにext/fts1/
みたいなフォルダがあるけれど、これがあると全文検索ができるんだって。ちょっと気になる。(多分"Full Text Search"の略)
ファイル名を見ながら思ったんだけど、拡張子が.test
のファイルが異常に多い。
test ファイルが何者なのかよくわかっていないので、次回以降に調べます。
test ファイルさん、君のことはそのうち真面目に読みたくなるかもしれないけれど、当面は補助教材扱いにするね。(自由律俳句)
次回予告
やっと旅に出かける準備ができた。ハリボテでもいいのさ。仕事じゃないからね。
次回からソースコードを読んでいこうと思う。