(110)概要コードの断片をメソッドにして、それに目的を表すような名前をつける。サンプルコード(リファクタリング前)よくある、CSVファイルの中身を読んできて配列に入れ、それぞれの行に対して何かしらの処理を行ってデータベースを更新する、といった処理。データベースの更新をループの外に出している点はいいと思うけど、いかんせんループ内の処理が長くて、可読性が低くなってしまっています。新しくメソッドをつくってループ内のコードをごそっと移動。何をやっているのかが分かりやすくなるし、見た目もすっきりしていいと思います。一時変数への参照をすべて式で置き換える。(120)」と組み合せて使用する。サンプルコード(リファクタリング前)本には「他のリファクタリングの邪魔になったときに、インライン化すればいい」と書いてあるが、ちょっとどういうケースを想定しているのか分かりませんでした。それは置いといて、以下のようなケースが本リファクタリングを適用するケースに該当するんじゃないかと思います。形式の日付を年・月・日の配列に変換する処理がこんな風に書いてあったので、リファクタリングしてみます。問い合せによる一時変数の置き換えを行う。一度しか使われていない一時変数をメソッドに置き換える。いう名前のメソッドをどっかにつくってもいいんじゃないかと思います。(139)概要メソッドの本体を新たなアルゴリズムで置き換える。見ると自分だったりするので、そういうコードに遭遇したときはさくっとこのリファクタリングを行うのがいいと思います。使ってSQL文を構築する箇所からの抜粋。混在している検索条件を見て、これをメソッド化するのは大変だと考えたんでしょう。各条件文で異なる箇所を抜粋して構造化すれば、今後パラメーターが増えてもコピペする必要のないアルゴリズムにすることは可能です。置き換えたい箇所を新しいアルゴリズムで置き換える。文の連なりを排除することができました。(250)」を適用してあります。$params;}いつになるか分かりませんが以下次号。upLoginユーザーは見つかりませんでした。