[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[OSASK 2158] Re: マニュアルの改善の要望



  こんにちは、川合です。話の流れの関係で引用順序を編集しています
。


MITSUNARI shigeo さんは 2001/09/16 01:09:09 の「[OSASK 2155] Re:
 マニュアルの改善の要望」で書きました:

>以下は書いてる最中にダウンしたapi.txtです。
>役に立てなくて申し訳ない。m(__)m

  まず、これについて心からのお礼を申し上げます。途中とはいえ、既
に17関数が含まれています。これは引き継ぐ人を大いに助けるはずです
。

>以下は単なる私の感想ですが、今のguigui00のAPIはあまりにOS内部に
>直結していて複雑すぎて使いにくいです。
>一般プログラミングユーザ向けに機能を絞った簡易APIを提供すべきでは
>ないでしょうか。

  それは、僕も賛成します。

>#もしかしたらこれはだれかにやって欲しいと仰るかもしれませんね。
>#できればやりたいですけど残念ながらちょっと私には出来そうにないです。

  これは、ご想像の通り、誰かにやってほしいというのが本心です。我
こそは、という人を待ちます。

>また少なくとも各種定数はマクロ定義すべきだと思います。
>そうでないと突然引数に0x32を指定してくださいと言われても困りますし
>毎回マニュアルを見ないととても記述できません。

  おっしゃる通りです。僕でさえ、マニュアルで確認しなければ分かり
ません。しかしマニュアルで確認しなければ分からないというのは、僕
の場合、あまり参考にならないかもしれません。僕は<stdio.h>や<stri
ng.h>などの一般的なライブラリを使う時でさえ、ライブラリマニュア
ルを読まなければ関数名や引数の順序に自信がないので。

  定数をマクロ定義するという意見については[OSASK 2097]に書いたと
おり賛成です。しかし僕がマクロ名を考えるとどうも長くなり、関数名
の長さもあいまってプログラムの見通しが悪化してしまうのです。この
辺のセンスが欠如していると自覚しています。

  また、今の<guigui00.h>をご覧いただくと分かると思われますが、ほ
とんどはマクロです。実際の関数ではありません。このマクロずくしの
傾向にあやかって、optなどの定数にシンボルを割り振るという方法の
他にも、

#define lib_openwintitle(size, window)
    lib_opentextbox(0x1000, 0, 0, size, 0, 0, 0, window, 0x00c0, 0)

という手段があります。そしてこの方法は、マクロなんですから可読性
を高めることはあってもバイナリーのサイズ増加には結びつかないわけ
で、僕としては川合秀実推奨をつけることになんのためらいもありませ
ん。

  今書いていて、上記の方法は非常によい方法であるような気がしてき
ました。この案は、要するにoptなどの固定値がややこしいなら、それ
を関数名に埋め込んでしまえということです。他に例を示すと・・・

#define lib_settimertime_interval(slot, time0, time1)
    lib_settimertime(0x12, slot, time0, time1, 0)

#define lib_settimertime_fromnow(slot, time0, time1)
    lib_settimertime(0x32, slot, time0, time1, 0)

いかがでしょうか?・・・僕はこれ以上この整備を進めることはしませ
んが、提案はしておきます。

>もしかしたら「そのためのintroシリーズだ」と仰るかもしれませんが、

  そんなことはいいません。

>数十行に及ぶ説明がないと使い方の分からないAPIはその仕様を見直すべきだ
>と思われませんか?

  APIの仕様が悪いという意見には同意しませんが、<guigui00.h>の構
成が悪いということは認めます。本当のAPIは<guigui00.h>などで隠さ
れていて、もっとずっとややこしくなっています。・・・そして、<gu
igui00.h>の構成を見直すべきだという意見にも賛成です。

  しかし、賛成だからといって僕が手がけるということではありません
。僕がするのは、誰かがやってくだされば、それに推奨を与え、僕のペ
ージに転載し(もしくはリンクを貼り)、ダウンロードをしやすくする
ということです。

  僕はC言語でのアプリケーションサポートの全てを他の誰かにやって
ほしいと常々思っています。そして僕はASKAレベルに徹することができ
ればいいのですが・・・。

---

  投稿する前に読み返してみて、自分の態度に腹が立ちました。僕はな
んて他人よがりなんでしょう。リーダーたる僕がこんな態度だからいけ
ないんです。光成さんを見習って、もっと建設的にいきます。

  上記の3のマクロの他に何かいいものを思い付いたり、定数マクロに
ついて一つでも案があれば、どんどんMLで提案してください。アプリを
作っていれば、必要に迫られて思い付くかもしれないじゃないですか。
僕の方でそれを集めて一つのファイルにして、ダウンロードできるよう
にするくらいのことはします(とりあえずベータリリース扱いですが)
。


  それでは。

--
    川合 秀実(KAWAI Hidemi)
川合堂社長 / OSASK計画総指揮 / カーネル開発班
E-mail:kawai !Atmark! imasy.org
Homepage http://www.imasy.org/~kawai/