Refactoring
メソッドの委譲先のクラスをクライアントが使っているとクラスの関係が複雑になってコードを変更しにくくなるのでサーバクラスだけ使うのが委譲の隠蔽. Hide Delegate逆に委譲の隠蔽をしすぎるとメソッドが増えて,何ができてどのメソッドを使えばいいのか…
継承の分割.refactoring.comのカタログにはのっていなかった.継承でガチガチにつながっている部分を委譲によってゆるやかな結合にする.やっと読み終わった.本の内容は,ステップバイステップでリファクタリングをおこなうというポリシーの下で,とても分…
Replace Inheritance with Delegation 継承を委譲に.本の例とは関係ないけどState/Strategyパターンは継承と委譲をバランスよく使っている気がする.あと,refactoring.comの例がちょっと難しい.StackはVectorかと言われるとそうとは限らないので委譲の方…
Replace Constructor with Factory Method コンストラクタをFactory Methodに置き換える.最初のFactory Method Patternを見たときはなぜわざわざFactory Methodを使うのかよくわからなかったのだが,こういう例だとわかりやすい.
Duplicate Observed Data モデルとビューがごっちゃになっているのを分離する.当たり前と言えば当たり前な話.
Replace Error Code with Exception 10章はエラーコードを例外にしようというもの.どこで例外を使うべきでどこでエラーコード(nullとかfalseとか)を使うべきかというのはやっぱり難しい.あと,何を例外にするかも重要.例外を細かく作ると原因が分かりやす…
Replace Type Code with Subclasses Replace Type Code with State/Strategy 7章と同じくタイプコードの置き換えについて.タイプコードをクラスにするよりかこちらの方がしっくりくる.サブクラスにするかState/Strategyパターンにするかはタイプコードが変…
Replace Type Code with Class7章はタイプコードをクラスに置き換えるというリファクタリング.基本型を使ったタイプコードは 異常な値になるかもしれない 他のタイプコードと混同するかもしれない ので使うべきではないとしている.でも,あんまり異常な値…
第5章はメソッドの抽出.当たり前すぎるといえばそうなんだが.Extract Method第6章はクラスの抽出.これもまあ当たり前なんだがちょっと難しい.抽出するクラスがgetterやsetterしかもっていないと,その部分がまとまったという以上の利点がない.そのため…
第3章はコメントに書くぐらいならassertionを使えというもの.assertion使ったことないなあ. Introduce Assertion 第4章はnullチェックが多くて読みにくかったり,抜け漏れがありそうだったらNullオブジェクトを使おうという物. http://www.refactoring.co…
第2章はフラグの削除. 単にフラグを使わないのではなく,breakやcontinueやreturnでいけそうなところはそれを使おうということみたい. フラグ変数を使うのならflagなんてそのまんまでわかりにくい変数名をつけてはいけない. returnについてだけども,最後…
第1章はマジックナンバーを定数に置き換えるというもの.定数を使ってコードを読みやすく変更しやすくする.あと,enumとかタイプコードとか.Javaのenumは型チェックをしっかりしてくれるので便利.Cだとint型が入ってしまう.タイプコードはマジックナンバ…
Java言語で学ぶリファクタリング入門作者: 結城浩出版社/メーカー: ソフトバンク クリエイティブ発売日: 2007/01/27メディア: 大型本購入: 12人 クリック: 189回この商品を含むブログ (109件) を見るちょっとずつ読んで行こうと思う.とりあえず,第0章は「…