2006-05-03-01-7年前のコード - project-enigma

2006-05-03-01-7年前のコード

>> Site top >> weblog >> 月別アーカイブ >> 2006年05月のlog >> 2006-05-03-01-7年前のコード

最終更新日付:2013/12/31 07:39:25


7年前のコード

2006 年 05 月 03 日

以前にもこんな話題があったような気がしますが、気付かない振りをして書いてしまいましょう。またもや古い作品を引っ張り出してイジってみましたよ。今日はファイル比較ツールであります。

職場でとなりの席に座っているK君が、ファイルを比較するために使用しているフリーソフトのバグで悩んでおりました。一致行の検出にちょっとした不具合があるというものなんですが、そのバグが発生しない場合でも、いわゆる「自然な結果」が得られないということで不満があるとのこと。うんうん。ソフトウェアで機械的に差分を調べると、「そこはそーじゃねぇだろ?」という結果になることがありますよね。2つのファイルをこう、左右に並べて相違点がビジュアルに見える必要があるので、いわゆる diff コマンドではダメなんですね。

陰郎は Microsoft 社の Visual Sourcesafe を持ってますから、個人的にはそのファイル比較機能を使います。アレもまぁバグのあるソフトウェアですが、わかった上で使うのであればまぁ便利ですし、ファイル比較機能もそこそこ賢く動いてくれます。陰郎も手があいているときはK君の作業を手伝ってあげるのですが、いつでもというワケにはまいりません。個人で持っているライセンスなので、Visual Sourcesafe を自分の PC 以外に移すこともできません...と、そういえば、6〜7年前に自分で作ったファイル比較ツールがありますよ。あれをちょいとイジってやれば彼の作業の助けになるのでは?

とま、そんなワケで古ーいソースファイルを引っ張り出してきたわけでありんす。しかし...うん、かび臭い。当時は特定のフォーマットに特化した比較機能を実装するために自作したので、このままじゃダメ。普通一般のテキストファイルを比較できるようにイジって...うん、動いた。でも遅い。よく見ると稚拙なテクニックを使ってるなぁ。過去の自分の作品を見るのはたまにやりますが、7年前ってのはこれまでで一番長いかも。このままじゃ陰郎品質をクリアできませんことよ。よし、やったる。

そんなこんなで、さらにイジり始めたわけです。ファイル比較を自分で書いてみると分かりますが、「もっとも自然な一致箇所」をどう決めるかというのはそうそう簡単な話ではございません。陰郎の場合は多少遅くても結果重視という方針を採っているのですが、今回は相手が悪かった。巨大なファイルだったんですね。そうなると「多少遅くても」という部分が「多少」ではなくなったりします。ええくそ、負けんぞ。パフォーマンスチューニングも兼ねて書き直しじゃ...!

まぁそんなところで、いまだにやってます。オチはありませんが、それではナニなのでいつだったかと同じコトを書いておきましょう。自分の古い作品は時々手を入れてあげましょう。ちょっとリファクタリングをしたり、自分のコーディングスタイルの変化を反映するだけでもいいんです。過去の自分のコードが下手に見えるのであればおめでとう。それは自分が成長していることの証です。とはいえ、大事なのは Happy programming。明日も開発日和でありますように♪

 

コメント

このページにコメントする

 

このページのタグ

Page tag : 開発

 

 


Copyright(C) 2005-2017 project-enigma.
Generated by CL-PREFAB.