2010/03/06

にき

今日は、スパゲッティコードとの格闘をした。
古くてどうしようもないけれど、しかし製品になんとかしなければならないガラクタがあって、なんとなくのうちにそれはボクの担当になってしまった。前任者はボクが入るよりずうと前にいなくなっている。
コードの酷さといったらそれはもう、言葉にできない。
クソ、とファックを今日一日で一週間分は言った気がする…

バグを報告してくれた人に、触れば触るほどバグ出ると思うんで…とまで言って、しかしだからあまり触るのは勘弁してくださいとはいえなかった。たまに思うけれど仕事って大変だなあ。

問題の箇所を読むけれど、データ構造もルーチンもまるで意味がわからない。何が悪いのか、何処を直せばいいのか、検討もつかない。変数名もローカル、メンバ関係なく、気狂いがつけたとしか思えないような名前がついていて、ウンウン唸りながらしばらく読み続けて、これは所謂リファクタリングから始める必要があるんじゃ…と思ったのだった。
そんなわけで、変数名を適切に変更する作業をはじめた。
変数名とかロジックとかを完全に無視して、まずは関連しそうなメンバ変数のうち「書き込まれる箇所」が一番少ない物を探した。見つかった変数が何を表すのか、代入される値から判断して、適切に変数名を書き換える。書き換えたら、そこを軸にまた書き換えていく。
実際には代入される変数が意味不明だから全然分からないとか、最大値なのは分かったけれどなんの最大値なのかは分からないままとか、大変だった。大変だった…
ある程度書き換えると、次第におかしい部分が分かってきて、結局全体的におかしいということが分かって、分かる部分から直し始めて…

それで気がついたら 10 時になっていたので、仕方なく帰った。10 時になるとスーパー深夜残業タイム前の休憩時間になっちゃうから…
で家に帰るはずが何か気がついたらカラオケボックスにいた。お金さん、いなくなってしまう…

何の話だったっけ…そうだスパゲッティコードを弄るのはパズルで遊んでるみたいで、始めは楽しいけれどのめりこみ始めるとイライラしか募らないという、そういう話を書きたかったんだ。
辛い思いしてやり遂げた方が達成感があるっていうのは、確かにそうかもしれないけれど、楽して生きたいなあ。幸せになりたい。

profile


niha

http://niha28.sakura.ne.jp/