Namazu-devel-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: indexer.pl



On Fri, 8 Nov 2002 14:22:11 JST
knok@xxxxxxxxxxxxx (NOKUBI Takatsugu) wrote:

>   リファクタリングの一環として、index 関連のコードを pl/ 以下に追い出
> してみました。
> 
>   一応 make check した範囲では問題がないことを確認していますが、commit
> する前に review していただけると嬉しいです。

commitした後でなんですが(^^;; ぱっと見て気になったところだけ。

> + package mknmz::indexer;
> + 
> + sub new {
> +     my $self = {};
> +     my $proto = shift @_;
> +     my $class = ref($proto) || $proto;
> +     bless($self);

ここは
bless($self, $class);
の方がよくないですか?

(中略)
> + sub init {
> +     my $self = shift @_;
> +     $self->{'KeyIndex'} = {};
> +     $self->{'content'} = shift @_;
> +     $self->{'conf::WORD_LENG_MAX'} = shift @_;
> +     $self->{'conf::nosymbol'} = shift @_;
> +     $self->{'hook::word'} = undef;
> + }

エントリの名前はそれぞれ_keyindex, _content, _word_leng_max,
_nosymbol, _hook_wordに変更しません? conf::WORD_LENG_MAX
あたりは紛らわしい気もしますし。

(中略)
> + sub wordcount_sub {

あと、privateなメンバにはprefixにアンダースコアを付けた方が
いいかな。

(中略)
> +         $word_count->{$word} = 0 unless defined($word_count->{$word});
> +         $word_count->{$word} += $weight;
> +         unless ($self->{'option::nosymbol'}) {

これは$self->{'conf::nosymbol'}のtypoですよね?

(中略)
> diff -cNr namazu-head/scripts/mknmz.in namazu-knok-im2/scripts/mknmz.in
> *** namazu-head/scripts/mknmz.in	2002-10-31 19:24:17.000000000 +0900
> --- namazu-knok-im2/scripts/mknmz.in	2002-11-07 17:05:43.000000000 +0900
> ***************
> *** 65,70 ****
> --- 65,71 ----
>   my @Seed = ();
>   my @LoadedRcfiles = ();
>   my $Magic = new File::MMagic;
> + my $Indexer = undef;
(中略)
> +     $Indexer = new mknmz::indexer;
(中略)
> !     my $indexer = $Indexer;

ここは一度だけ
my $indexer = new mknmz::indexer;
すればいいんじゃないですか? 個人的には
my $indexer = mknmz::indexer->new();
という書き方が好みだったりしますが。


  A A
= . . =
   V
end
Ryuji Abe