1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

SQLiteのソースコードを読んでみる(1)~準備その2~

Last updated at Posted at 2022-03-08

前回のおさらい

前回の記事では 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 ファイルさん、君のことはそのうち真面目に読みたくなるかもしれないけれど、当面は補助教材扱いにするね。(自由律俳句)

次回予告

やっと旅に出かける準備ができた。ハリボテでもいいのさ。仕事じゃないからね。
次回からソースコードを読んでいこうと思う。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?