Namazu-devel-ja(旧)


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

learning from failures (Re: ファイルを消してしまうかもしれない  2.0.3 の不具合)



失敗から学ぼう、という企画です。

Ken-ichi Hirose <kenzo-@xxxxxxxxxx> wrote:

>具体的には ChengeLog の 2000-04-05 〜 2000-04-07 の
>source (Namazu 2.0.3を含む) で doccat がインストールされている環境で
>                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>*.doc, *.xls, *.ppt, *.jtd のファイルを indexing するとそのデータを
>消してしまう可能性があります。。

なぜ 2.0.3 の公開後にこの問題が判明したのか理由を考えました。

  1. テスト不足
     - コードを書いた直後にきちんとテストしていれば欠陥は見
       つかったはず。その場かぎりのテストではなく、後から何
       度でも再テストできるように、テストプログラムを書こう 

  2. 2.0.3 の公開直前に問題のコードが潜り込んだ
     - 公開直前に自信のないコードを含めるのはやめよう

  3. パス名にShift_JISの文字が含まれているときの特別処理は、い
     かにも欠陥を誘発するコードである
     - その場しのぎの安易なコードはやめよう。高品質なコード
       を書こう

  4. wvHtml, doccat と処理が分岐するとテストがしづらい
     - これは kakasi, chasen, Text::Kakasi, Text::ChaSen を
       使い分けている点でも同じ問題を抱えている。テストしや
       すい形に仕上げよう

-- Satoru Takabayashi