Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

リファクタリング.20130403.001

385 views

Published on

  • Be the first to comment

  • Be the first to like this

リファクタリング.20130403.001

  1. 1. @den256 のポジペ 2013/03/03 PHP/jQuery Programer Web 系システムエンジニア ダメダメ Web デザイナー
  2. 2. Java 言語で学ぶリファクタリング
  3. 3. メソッド抽出
  4. 4. たとえばこんなコードif (A) { if (B) { if (C) { doProcessABC(); } else { doProcessAB(); } } else { doProcessA(); }}
  5. 5. メソッド抽出 その一function is_A() { if (A) { return true; } else { return false; }}
  6. 6. メソッド抽出 その二function is_B() { if (B) { return true; } else { return false; }}
  7. 7. メソッド抽出 その三function is_C() { if (C) { return true; } else { return false; }}
  8. 8. メソッド抽出 その四function is_A_and_B_and_C() { if (is_A() and is_B() and is_C()) { return true; } else { return false; }}
  9. 9. メソッド抽出 その五function is_A_and_B() { if (is_A() and is_B()) { return true; } else { return false; }}
  10. 10. メソッド抽出によりコードがシンプルに なったような気がする なったような気がする if (is_A_and_B_and_C()) { doProcessABC(); } if (is_A_and_B()) { doProcessAB(); } if (is_A()) { doProcessA(); }
  11. 11. メソッド抽出のメリット関心事を分離できる(アスペクト指向?)変更するときに影響範囲を取得しやすいコード間の依存関係を弱くできる?かな?
  12. 12. メソッド抽出のデメリットメソッドの階層構造が深くなるとデバッグが困難になるメソッドの依存関係が複雑になることがある
  13. 13. メソッド抽出をしたら
  14. 14. クラスとは?分類子?たくさんのメソッドを分類整理するのがクラスかな?という気がするもちろん抽象データ型を記述するツールでもあるけど。。。。
  15. 15. メソッド抽出をして、楽しく、プログラミングしよう!extract method.programing with fan !

×