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.

本当のオブジェクト指向は可読性を上げる

11,761 views

Published on

2014/7/28 PHP勉強会用の資料。

Published in: Technology
  • Be the first to comment

本当のオブジェクト指向は可読性を上げる

  1. 1. 2014-07-28 GMOリサーチ 寺田 渉 Facebook: 寺田渉 Twitter: @wa_terada
  2. 2.  オブジェクト指向 って何なのか。 = オブジェクト指向の 読みやすさ に 気づいてもらう。
  3. 3. ボードゲーム翻訳 CakePHP Cookbook翻訳 TED 字幕 翻訳 開発 (PHP/JavaScript/Java/Perl)
  4. 4. 抽象化
  5. 5. 抽象化 によって 可読性 を上げます
  6. 6. 処理と変数を取りまとめる存在 (オブジェクト)を作り、 その存在に【的確な命名】を 行うこと。
  7. 7. 処理は数百行あっても、 的確な名前を付けることで、 毎回中身を見なくてもよくする。 これが抽象化。
  8. 8. 毎回中身(具象化先)を 見なければならないようなら、 抽象化としては失敗。
  9. 9. オブジェクト指向の 鍵
  10. 10. それなら 関数切り出し でいいんじゃない?
  11. 11. そうです。 関数切り出しも抽象化の手法。
  12. 12. 「関数」だけでなく、 その外側にある「状態」も あわせて取りまとめる存在を作り、 抽象化して 可読性をあげようとする。
  13. 13. 【構造化プログラミング】 処理を (サブルーチン or 関数して)とりまとめて 抽象化 (=的確な命名) ↓ 可読性を上げる
  14. 14. 【オブジェクト指向】 変数 とそれに 関連する処理 を (クラスとして) とりまとめて 抽象化 (=的確な命名) ↓ 可読性を上げる
  15. 15. 何度もメソッドの中を 見なければいけない事態が 生じているのなら、 オブジェクト指向としては負け。
  16. 16. MVC (フレームワーク) で 開発してると 何度もクラスの中を見るけど オブジェクト指向 じゃないの?
  17. 17. オブジェクト指向では ありません!
  18. 18. - 基盤の開発を共有 - 開発スタイルをルール化 することで、開発者によるブレをなくし、 開発効率を上げて安定化させるためにある。 開発者の設計力が十分でなくても 開発可能にするという側面もある。
  19. 19. MVCを使って開発する場合、 可読性や抽象化を意識して オブジェクト設計しないので、 (それ自体はオブジェクト指向で作られていても) それを使っての開発は オブジェクト指向というよりもむしろ フレームワーク指向と呼ぶべきでしょう。
  20. 20. オブジェクトに抽象化することで 可読性が上がると思ったら オブジェクト化する → オブジェクト指向
  21. 21. ぜひ Facebook 等で 寺田渉 まで ご連絡ください!!
  22. 22. 以上、ありがとうございました。

×