namazu-dev(ring)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: memo: libnamazu
- From: knok@xxxxxxxxxxxxx (NOKUBI Takatsugu)
- Date: Tue, 7 Dec 99 16:29:46 JST
<199912061018.TAA20015@xxxxxxxxxxxxxx>の記事において
satoru-t@xxxxxxxxxxxxxxxxxxさんは書きました。
>> うーむ、せっかく「機能単位で分けてい」るのに、「外部に公開す
>> る関数のみ libnamazu.c に記述」するのは気持ち悪いです。
その心情は理解できます。
>> * 関数は機能単位でファイルに分ける - 従来通り
>> * 外部に公開する関数のプロトタイプ宣言だけは libnmz.h に記
>> 述する
>>
>> という方法が考えられますが、これも「外部に公開する関数のプロ
>> トタイプ宣言だけは libnmz.h に記述する」という例外が気持ち悪
>> いです。(現在は関数を定義した .cファイルと basename が等しい
>> .hファイルに宣言を記述しています)
保守する際に、混乱の元になりそうな気もします。
>> * 関数は機能単位でファイルに分ける - 従来通り
>> * 外部に公開する関数はラッパー関数を Java風の表記 :-)
>> で libnmz.[ch] に定義・宣言する
>> - 例: idxname.c の add_index() に対してはラッパ─関数
>> nmzAddIndex() を定義・宣言する
>>
>> なる方法も考えましたが、保守が面倒そうです。
ちょっと冗長なところが気分的に好きになれないです。まあ、たいした
overhead でもないでしょうけど...
>> >> ライブラリとして外から利用する関数を選定してもらえませんか? > 野首さん
>> >
>> > そうですね。このあたりは追々... といっていると、いつまでたっても終ら
>> >ないかも ^^; 最低限、Search::Namazu で使っている関数群は libnmz.h 行き
>> >ですかね。
>>
>> よろしくお願いします。
とりあえず、現在の Search::Namazu で呼んでいる関数を pick up してみ
ました。思った程多くはないです。
uniq_idxnames()
expand_idxname_aliases()
complete_idxnames()
codeconv_query()
search_main()
free_hlist()
free_idxnames()
free_aliases()
free_replaces()
add_index()
set_sortbydate()
set_sortbyscore()
set_sortbyfield()
set_sort_descending()
set_sort_ascending()
load_conf()
set_lang()
# uniq_idxnames()
# expand_idxname_aliases()
# complete_idxnames()
# これらと
# free_idxnames()
# free_aliases()
# free_replaces()
# これらは外部から呼ぶ際にはまとめてしまっても良いかも?
--
野首 貴嗣
E-mail: knok@xxxxxxxxxxxxx (private)
nokubi@xxxxxxxxx (official)