2010年10月09日

まるで閻魔帳を見せられているような…。

仕事の一環でとあるソースコードのリファクタリングを実施。


これがまた見にくいコードで、結構べからず集の塊というか。
マジックナンバーやコードクローンがあちこちにあるし…。

昔からこのソースは見ていて、あまりにもひど過ぎて手を付ける気は無かったけど、仕事でこのソースコードの担当になってしまう予定になり、
正式に仕事がスタートする前に少しはマシにしていこうとフライング気味に手を付けはじめ。


リファクタリングといっても巷にあるリファクタリングの手引書はまだ買い込んでないから、今のところ思いつく事を。

例えば、
配列+マジックナンバーでメモリ操作を行っているところを構造体にして明示的にわかりやすくするとか、
コードクローンを検出してそこを直していくとか。


で、そのコードクローンを調べる一環でやっと AIST CCFinderXをインストール。
このアプリ、インストールするだけでも少々手間が。

Pythonをインストールしている必要があるけど、2.6以上を要求しつつも、本当に2.6.xでは無いと正常に動かず。
最新リリースの2.x系が2.7であるために、ここで引っかかりました。
2.6.6をインストールする必要があります。

あと、環境変数でtempを日本語やロングファイルネームを含んだパスの環境でも×なような…。


そうこうして、何とか動かせて問題のソースコードを解析。
結構参考になる結果が出て大満足。



さてはて、今回のブログの本題。
問題のソースコードに飽き足らず、今まで私が関わってきたソースコードを片っ端から CCFinderXにかけてみてみたり。

C#のコードも解析できるから、Visual C#で組んだアプリのソースコードなんかも。





結構クローンコードが出てくるし、中にはもう典型的なコピペコードも(汗)
ホント、地獄で閻魔帳でも見せられている亡者な気分ですヨ。


ひとりでコードを組んでいるとついつい没入しがちだから、仕事でやる時には客観的に解析できると少しは楽ですね。
…恥ずかしながらうちの会社はそういうのが出来ていないんだよね。

本当はソースコードレビューをやりたいところだけど、残念ながら今のメンツではレビューには程遠い結果になりそうで…。



それでも、私一人だけでも前へ進みたいから、色々試してみますかね。
posted by 風馬史郎 at 23:17| Comment(0) | TrackBack(0) | プログラム