dolemサイトにbuiltin functionページを追加した

Read More

dolemサイトを少し整理してみた。

今回の作業で、何かを文章に起こすというのは中々大変なものだと思い知った。
人に説明することの難しさというのを今ひしひしと感じている。


dolemサイトは最初に何の設計もせず急ピッチで作った。
サイト内の文章はざっくり書いたものしかなかった。
サイトの左メニューにそれっぽい項目だけ用意してみたものの、ほとんどのページが実装に間に合わず、というか実装する気があったのかも不明だが、未実装のページがたくさんあったまま公開に至っていた。
そしてサイト内の文章を改めて読み返してみると何を説明しているのかわからんものが多かった。

今回少しばかり時間ができたので改めて二度三度読み直して、これなら少しはわかるだろうという文章に手直ししてみた。
結果すごい労力を使った。
人に説明するのってホント苦手だ。


今回新たな項目としてサイト内の左メニューに「builtin_function」というのを追加した。
ほうほう。ビルトイン関数とはなんぞや。


ビルトイン関数とはdolemにおいて、「dolemがもつ独自の関数群」のことだ。

1つ1つの独自関数はそれぞれファイル別に管理してある。
基本的に1つのファイルに対して1つの独自関数が定義されている。

これらの関数ファイル群は指定したフォルダに置いておくことで自動で読み込みがなされ、結果、グローバルファンクションとして利用可能になるのだ。

この自動読み込み機能は旧フレームワークの頃にはなかった概念で、dolemのβ版を公開する際に突貫工事で加えたものだ。
# 旧フレームワークではこのビルトイン関数は個々のファイルに分かれておらず一つのファイルにまとめられていた。

それがなぜdolemではこのような仕様になったのか。
そこには独自関数の追加や削除、転用の手間を簡単にしてやろうという意図があったのだ。

dolemのこの仕様は今でもそれなりに満足している。のではあるが、しかしdolemのβ版を実装したあとに色々と長所短所に気がついたこともある。


長所は先ほど書いたように一つ一つの関数の独立性が高まっていること。
例えば関数の一部分を修正する際に誤って別の関数に半角スペースが入ってしまった…というようなことが防げる。

また何もせずともアルファベット順にファイルが整理される。


しかしこの長所がそのまま短所にも繋がることがある。
今まで一つのファイルで管理していたのが1関数=1ファイルになってしまったため、ファイル数が無駄に多くなってしまった。

まあもともと大した数ではないからこれはまあ許せるのだが、それよりも問題として捉えているのが「独自関数群に目を通す機会を奪ってしまった」こと。

これが結構な問題だ。


使い慣れたフレームワークならいざ知らず、初めて使うような人は、まずフレームワークにどのような関数群があるかがわからない。
それを知ることからフレームワークの習得がスタートするわけだ。

旧フレームワークでは関数が一つのファイルのみで管理されていたため、新たに関数を定義する際や、目的の関数を調べる際には必ずそのファイルを開く必要があった。

そうすると、目的の関数を見るために開いたファイルのつもりが、自然と他の関数にも目を通す結果をもたらす。

また、そのために開いておかなくてはならないファイルが「一つ」で済むというのもメリットだ。

だいたい関数を作った本人ならいざ知らず、他の人が作った関数は基本的にどのような機能を持っているのかわかりにくい。

機能にしても関数名だけでは連想しにくかったりする。

これが一つのファイルにまとめられているとやはり自然と目にすることがあるのでこの辺の覚えが早いのだ。



うーん、失敗したかな。

まあ実装してみんとこんなのわからんしな。
version1.0の公開までに1関数=1ファイルという仕様は元に戻すかも知れない。


おっと話がそれた。

まあそのビルトイン関数が、dolemのサイトから関数一覧と機能や解説などを確認できるようになったというわけ。

でも実は関数を定義しているファイルの上部にコメントとして書いてあるものと全く同じだったりするのだが。
phpdocよろしく一定の書式で書いてあるものを読み込んで表示させているのだ。


ん?

あああ。

ビルトイン関数を個々別々のファイルから、一つのファイルに管理方法を変更したらまたサイトのページ部分の修正せんといけんじゃん。
折角関数ファイルのコメントを自動で読み込む関数作ったのにさあああ。