自分が作るAppleScriptのプログラムは、プレイベートでも仕事でも数千行のオーダーに達するものが珍しくなくなった。
知り合いのスクリプターも、わりとでかいものを作る連中がそろっている。
そんな中、巨大なScriptのプログラムをどーやって管理するかについては、なかなかこれといった方法論がない。
完全にないわけではないのだけれど、すべての人類にあまねく有効というものでもない。だいたい方向性は2つ。
1つは、ライブラリアンを自前で作って、既存のサブルーチンはすべて「見えない」が「使える」状態にするというものだ。
もう1つが、力技というか……もうひたすら作りためたスクリプトを1本のスクリプトにコピー&ペーストして雪だるま式にコードをつなぎ合わせていくというものだ。
自分は、後者である。
ただし、さまざまなケースでライブラリ管理が必要になり、部分的には「なんちゃってライブラリアン」を導入している。複数のスクリプトに分割しておいて、実行時に読み込んで実行するというものだ。
部品の動的なアップデートをオンライン経由でできないあたりが「なんちゃって」の所以である。ちゃんとしたライブラリアンはこれをやるのである。
存在する膨大なコードを「見えないもの」として扱うライブラリアンの方向性は至極まっとうなものなのだが、ライブラリ中のコードを参照できないと困るといったケースが発生することもまた事実だ。
なので、「見えなくもできるし、見ることもできる」という管理が一番効果的だと考えている。視覚的にそれを表現できれば、なおよい。
……そんなわけで、プログラムを扱いやすいように管理するプログラムがあったらいいと考えていた。自分で作ることは考えていないが、青写真は持っている。
で、「青写真」というからには具体的に絵にできるんじゃないだろうかと考えて、よっこらしょっとKeynoteで作ってみたのが冒頭の図だ。
うーーーーーーん、なんかイマイチ。
どこがイマイチかといえば、「ルーチンごとに図形として表現する」という仕様は悪くはないんだけれど、1つのルーチンの区切りを機械的に行われると、なんか逆に面倒な感じがするのだ。
だいたい、プログラムの塊は階層的なものであり、分かれてはいるがメインとサブが不可分な状態で記述されるケースもあったりで、初期状態ではそこをまとめた状態で表示されるとよいだろうか。
図形で示す必要はなくて、アウトラインプロセッサ風に編集が行えればそれでよいということなのだろうか。ちょっと実験してみたいところだ。
