5月20日

2011/5/20作成

エラーチェックプログラムの続き。エラーというか、問題があるかもしてないところを探すだけだからlintの方が適切だと思うので、以後そう呼ぶことにする。

色々チェック項目を追加していくと、途端に処理が重くなる。当然だけど。ほんとは小さなテストデータを使ってテストを繰り返していくべきなんだけど、めんどくさいので本番のでかいデータを使う。だめだめ。

しかし、本番データからチェックに引っかかった記事をテストデータにコピペするとチェックにひっかからなくなったりと謎な現象が起こるので、仕方のない部分もあり。何が原因なんだろう。

没年と存命人物の両方のカテゴリに登録されているチェックを入れたら、1件ひっかかったよ。まさかそんな記事があるとは自分でも思ってなかったのに。

ちなみに該当したのは「糸井しだれ」という記事で、二人の人物を同時に扱っている記事だから、没年と存命の両方が記載されていたのだった。これは仕方ないか。

しかし、こんなの人間の目でチェックしようなんて思っても絶対に無理だよな。やっぱりこんなことはプログラムにやらせるべきだ。うん。やろうとしていることは間違いない。ただし、チェックが本当に正しいかどうかはわからないから、修正は機械的にするんじゃなくて、それぞれ個別に検討してするけどね。

しかし、その後もいくつか亡くなられているのに存命人物のカテゴリが入ったままのが検出されたので、それは修正する。死亡日は更新されてるのに死亡記事が書かれてないのがあったので、そこだけ英語版から翻訳してもってきたりとか。

ようやく全件処理完了。今の時点のプログラムで、レポートは100万行近くにものぼってる。ま、ほとんどがデフォルトソートが無いというものなんだけどね。デフォルトソートが無いだけのものは出力しないようにしようかしらん。そうでもしないと、レポートに目を通すこと自体が大変になってしまう。

テキストエディタは長年TeraPadを使ってきたんだけど、実はTeraPadはUNICODEに正式に対応してない。内部処理がSJISのままで、入出力時にUTF-8に変換できるというだけ。だから、SJISに無い文字を含んだテキストを編集しようとすると文字化けする。

普段の生活では困らないけど、ウィキペディアのテキストを取り扱おうと思うと無理がある。ということで、今更ながらテキストエディタの乗り換え。とりあえずサクラエディタを選択。しばらくこれで使ってみよう。

lintプログラム。チェック項目を増やすと、どんどん処理時間がかかるようになってきて、とても本番データを投入してられなくなってきたので、仕方なくテスト用データを作る。本来なら最初にこれをしなきゃいけないんだけどな。おかげでテストがはかどるはかどる。

しかし、どんどんプログラムが重くなるなぁ。どうしたもんかなぁ。まあ、最終的には数ヶ月に1回掛ければそれでいいような用途のプログラムなんで、少々時間が掛かっても問題ないんだけどね。

表記ガイドを参考に、更にチェックをどかどか追加していく。全てのガイド項目を網羅するのは大変なんでやらないけど、ある程度チェックできるというだけでも意義はあるだろう。

ある程度出来上がったので、本番データに対してチェックを掛けて就寝。開始が0時半頃。出来上がったレポートのタイムスタンプでどらくらい時間が掛かったかわかるな。


あおやぎのさいと2.0 新人うぃきめでぃあん日記