Java言語で学ぶリファクタリング入門

3.88
  • (23)
  • (31)
  • (34)
  • (0)
  • (0)
本棚登録 : 353
レビュー : 25
著者 :
tommy1969さん ICT   読み終わった 

リファクタリングに目覚めて、今までやっていたのはリファクタリングではなかったと思うに至り、慌てて読んだ本書。何が今まで考えていたのと違うのか?

どちらかと言えばトレンドウォッチャーな方だと思うのだけど、日本にリファクタリングという言葉が持ち込まれた頃から知っていたし、実践していたつもりだった。まあ、テストコードを書かずに、画面で動作確認してたりすることもあるので、「そんなのリファクタリングぢゃぁない!」と言われたりもするが、そこは真摯に受け止めるとして…。ちゃんとテストコードを書いてやっていたリファクタリングもリファクタリングではなかった…と思ったのだ。

今まで「テストグリーンのままコードの改変を続ける」なんてことはできるハズがないと思っていた。まず、変更したいコードに書き換えて、通らなくなったテストを通すために、少しずつバグを改修していって、テストグリーンになったらリファクタリング終了…というやり方でやっていた。簡単なものだったり、今日の占いで一位だったりした日には、一発でテストグリーンになることもあるのだが、まあ、大抵はそーうまくはゆかない。いつまでたってもテストを通らずに、キリが悪いまま夜遅くに帰宅するハメになったりする。「あ〜、テストって面倒くせぇ〜」と海に向かって叫んだり…したことはないけれども。。 (--;

だが、初体験してしまったのだ。テストグリーンのままステップバイステップでゴールに辿り着くってのを。どんな初体験も、それは人生を変える素晴らしいものだと再認識。 :-)

長らくチーム開発をしていなかったのだが、去年からチーム開発の世界に舞い戻り、その時に少しだけ技巧に富んだリファクタリングを見せてもらってはいた。正直、何が起こったのかをちゃんと認識できなかったが、とりあえず凄い技だとは思った。でも、言うなれば「リフティングはうまいね。でも、サッカーでどこまで効果的なの?」みたいな感想だった。身に付けたいとは思ったけれども、優先順位はそんなに高くないなぁ〜などと思っていたっけかな。

きっかけはペアプロパートナーの新人女子の言葉だった。「赤になったらすぐに青にするんですよ!」と、ふざけたハッパに「はいはい、青にすればいいんでしょ〜」と、キーボードに手を伸ばすと…。なぜか、見えちゃったのだ。テストグリーンのままゴールに到達する道筋が。少しコードをいじって、テストを実行して、また少しコードをいじって…を繰り返し、ゴールに辿り着いてしまったのだ。いや〜、驚いた。まるで詰め将棋のようだった。「ここで飛車をすてて、桂馬で追いつめて、最後は歩で詰み!」みたいな感じ。おっと、打ち歩詰めは禁じ手だった。 (><)

まさか、自分でできるとは思ってもいなかった体験で、少しハイな精神状態になってたと思う。リファクタリング・ハイなどという言葉があるのかどうかは知らないが、とても気持ちよいのだ。頭の中がすべてコードで満たされて、外の世界とは切り離されてたように思う。なんか、ブツブツしゃべってたかもしれないけれども、たぶん、口が勝手に動いているだけだったような気がする。

そんなリファクタリング・ハイをもう一度、味わいたくて、コードをいじり続けているのだが、残念ながらテストレッドな時間が長い状態が続いている。どうやら、テストグリーンのままリファクタリングできるパターンが私の中に少ないらしい。…という訳で、パターンを増やすべく、本書を手に取った次第。「おおぉ、ここで初手は香車を底に打つのかぁ〜!」と新たな発見にワクワクしながら、アッとゆー間に読了してしまった。

これがリファクタリングだったのか…と認識を新たにした今、テストコードの見方がぜんぜん違ってくる。今まで品質保証的な意味合いで面倒なだけだったのだが、リファクタリングのしやすいテストコードとなるとテストの書き方も変わって来そうだ。脳に入れなきゃならない情報が多過ぎるテストは楽しくないし、速くないから。そうなると、設計もシンプルで小さくしないと…。う〜む、ずいぶん世界の見え方が変わってくるなぁ〜。

リファクタリング・ハイよ、もう一度〜!!!

レビュー投稿日
2011年5月22日
読了日
2011年5月22日
本棚登録日
2011年5月22日
0
ツイートする
このエントリーをはてなブックマークに追加

『Java言語で学ぶリファクタリング入門』のレビューをもっとみる

『Java言語で学ぶリファクタリング入門』のレビューへのコメント

まだコメントはありません。

コメントをする場合は、ログインしてください。
ツイートする