:--------------------------------------こうしてU君が一生懸命作ったコードが今日もバッキーによって葬り去られたのでした。暴いておやり、ねぇ子猫。僕の育てたOOバッキー。おなかつつけば語りだす真実を・・・。OOバッキーに断罪してほしい、失敗ネタをお持ちのかたはぜひネタをご提供ください。_______________________________________________________________________この記事への評価にご協力をお願いします。URLをクリックして、「ご協力ありがとうございました」のメッセージがご使用のブラウザに表示されれば投票完了です。[5]さて、前回は不吉な匂いから『長すぎるメソッド』を紹介しました。定通り『多すぎる引数』を紹介します。引数が多すぎるとこんなことが起きますよね。[引数が多いときに見られる症状]・メソッドが読みにくい・メソッドが再利用しにくい読みにくいことは、保守にも拡張にも悪影響を及ぼします。リファクタリングの目的が『ソースコードを読みやすくシンプルに保つこと』にある以上しかたないので、「あ〜またか〜」と軽く流しておいてください。囲が広すぎて、たくさんの情報を必要としていることも多いように感じます。いうときはまず、前回紹介した『長すぎるメソッド』の対処法を適用するところから始めると良いでしょう。それでは、今回は3つのリファクタリングを紹介しましょう。呼び出し側がある値を取得(算出する場合も含みます)し、その値をメソッドの引数として渡しています。数から削除し、メソッド内で取得するようにしましょう。『オブジェクトそのものの受け渡し』あるオブジェクトから複数の値を取得し、それらの値を引数として渡しているときは、元のオブジェクトを引数にして、メソッド内で値を取得しましょう。引数となるオブジェクトに対して依存関係を持ちたくない場合もあるので、状況に応じて適用しましょう。『引数オブジェクトの導入』まとめて扱うべき一連の引数がある場合に適用できます。ある引数のグループが色々なメソッドで現れる場合には、一度考えてみる価値があるでしょう。このリファクタリングを実行すると、当然引数が短くなるわけですが、それ以上の効果を期待することもできます。具体的に述べると、このような引数を集めたクラスを作成した場合、このクラスに含まれるべき共通の操作が見つかることがよくあります。重複したコードの削減にもつながります。それでは、今回は『引数オブジェクトの導入』のサンプルを紹介します。サンプルを元に色々なシチュエーションを想像して、効果を感じてみてください。}}--------------------------------------------------------------※あれっ...あんまりシンプルになったように見えない...(^-^;今回は、不吉な匂いから『多すぎる引数』を紹介しました。今回の内容は、わかりやすいだけでなく、適用したいケースを見かけることも多いと思います。身近なコードで是非お試しください。次回は、不吉な匂いから『巨大なクラス』を紹介する予定です。わかりにくい点や質問などは随時とりあげていきたいと思いますので、気軽にご意見をお寄せください。(梅田)_______________________________________________________________________この記事への評価にご協力をお願いします。URLをクリックして、「ご協力ありがとうございました」のメッセージがご使用のブラウザに表示されれば投票完了です。ホントのところ今週は「システム業界に多い血液」のホントのところ。今週のテーマは噂ではなく、単純に編集室の疑問であります。どんな結果が出るでしょうか。