2014.8.30
INASOFT
/トップ/いじくるつくーる/ダウンロード/WebHelp/ヘルプトップ/
本ソフトウェアの開発は終了しています。ヘルプに記載されている情報も古いものになっています。

連載(R-Script10周年 第4回) [ 4/ 5]
第4回 R-Scriptの成果
公開日:2012/ 1/ 1
あけましておめでとうございます。毎年、年始めに行うことと言えば、各ソフトウェアのバージョン情報等で表示される Copyright の「年」部分を書き換える作業なのですが、「いじくるつくーる」の場合、起動時に表示されるスプラッシュウィンドウの「年」を書き換える作業もあります。スプラッシュウィンドウはビットマップファイルで作成されているので、ここだけは「ペイント」を使って、ピクセル単位で作業しなければなりません。
まぁこれが、僕の年始の風物詩となっていますね。
ちなみに、R-Scriptこと「いじくるつくーる」を作り終えたのも、ちょうど年末年始の頃でして、今日はその頃のことを思い出しながら書いてみようかと思います。
R-Scriptを作り終わりましたが、それを論文発表するに当たって「定量的な成果を測る」必要が出てきました。
2 現状分析
いじくるツールの開発手法の悪さについて, 次のような推測を立てた. 2.1 おおまかな分析 いじくるツールでは, おおまかにわけて, 次の3 段階でプログラムを作成しているが, そのためあとで示すような2つの問題が起こっている. (A) 入力 レジストリから設定を取り込むためのプログラムの作成.(B) 編集 レジストリから取り込まれた設定を変更するためのユーザー・インターフェイスの作成. (C) 出力 変更された設定をレジストリへ書き込むためのプログラムの作成. 問題1 は, 上の各段階の作成に用いられる言語が汎用的言語であるC++であるため, 様々な雛形的な手続きをしなければならないことでプログラムの行数が増えてしまうことである. 問題2 は, 上の各段階がプログラム中に分散して存在してしまうことから, プログラマの注意が分散してしまうことである. 2.2 問題1 に関する現状と細かい分析 2.2.1 文字列 レジストリのキーやエントリは文字列で構成されている. また, レジストリには文字列型が存在する. この2点により, レジストリ編集には文字列操作が欠かせないものとなっている. 2.2.2 エントリに関連づけられた意味とWindows API レジストリ編集を行う場合, ある設定に対して, その設定に対応する1 つ以上のエントリを編集を行うことになる. ここでは1つ以上と書いたが, 多くの設定では1つのレジストリエントリを編集するので, 大部分の設定では「1対1対応」がとれているといってよい. つまりレジストリ編集の観点からすれば, 1つの設定を操作するためには1つのエントリが編集できればよい. ところがWindows API では, 1つのエントリを編集する場合でも, エントリの所属するキーを開いたり閉じたりしなければならない. 1つのキーの中の複数のエントリを操作するのであればこの方法は効率がよいのだが, レジストリの編集の観点からすれば, この操作は煩雑である. (*5) 一般のWindows API は, C++言語向けにもC言語用のプログラミングインターフェイスを準備している. |
▲当時の卒業論文の一部。実際にはTeXで記述していましたが、ここではHTMLに変換しています。 |
会社でも施策を実行したら、結果をベンチマークしてフィードバックする必要があるのと同じで、R-Scriptもベンチマークしてフィードバックしなければなりませんでした。
これが難しい。プログラミングの手間が減ったことについて、どうベンチマークすればいいのか。「いじくるツール」「いじくるつくーる」は個人的な趣味で作っているものなので、作業時間を記録しているわけではありませんからね。「なんとなく、手間が減った気がする」程度の「定性的」評価なら、僕個人の頭の中でできますが、対外的な発表をするのであれば定量的なエビデンスを示すことは必須です。
というわけで、「いじくるツール(当時)ver.6」のソースコードと「いじくるつくーる ver.7」のスクリプトコードを比較し、行数どう変化したか? 同じキー・エントリ名に対する操作が複数箇所に分散していないか?という観点で統計を取り、数値化することにしてみました。けっこう苦し紛れです。
C++で作られたプログラムに該当するものが, R-Script では複数のスクリプトに分かれている場合は, それらの合計の値を利用している. (*14) なお, 各項目に付けられた名前は, いじくるツールやいじくるつくーるでレジストリを分類する際に用いているカテゴリであり, 詳しくはいじくるつくーるのヘルプ(Rnsf7.hlp) を参照のこと. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
▲当時の卒業論文の一部。この他に、出現回数比較をしているページもある。 |
「減ってますね。」ということで、当日の卒論はクリアとしました。
なお、「Windowsの深い部分の設定」という名称が浮いている、という話題は、当時から出ていたのですが、この名称が以前のバージョンからの引き継ぎで付けられた名称で、すでに公開済みのソフトの事だったということで、このままにしました。ちなみに、たしかディープなんとかとかいうサイトから得られたレジストリネタが一番最初だったことから、この名前が付いたんだったと記憶しています。
また、スクリプトとしての行数は減っていますが、その分のトレードオフは当然、C++で作成されたインタプリタの方に転嫁されていることを、工学的観点としては忘れてはいけません。ただし、今後機能追加をしていくときは、スクリプト追加だけで済むという気軽さが、R-Scriptを利用する場合の長所となります。
戻る
前へ 次へ
※このページは、ソフトウェアに付属のヘルプファイルをWeb用に再構築したものです。大部分に自動変換を施しているため、一部は正しく変換しきれずに表示の乱れている箇所があるかもしれませんが、ご容赦下さい。また、本ドキュメントはアーカイブドキュメントであり、内容は「いじくるつくーる」最終公開時点、あるいは、それより古い時点のものとなっております。一部、内容が古くなっている箇所があるかと思いますが、あらかじめご了承下さい。
※このページへは、自由にリンクしていただいてかまいません。
このページに関するご意見の受け付けは終了しています。