Enviar pesquisa
Carregar
本当のオブジェクト指向は可読性を上げる
•
Transferir como PPTX, PDF
•
33 gostaram
•
13,818 visualizações
Wataru Terada
Seguir
2014/7/28 PHP勉強会用の資料。
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 22
Baixar agora
Recomendados
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
増田 亨
オブジェクト指向できていますか?
オブジェクト指向できていますか?
Moriharu Ohzu
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
Masakazu Matsushita
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメ
Yoji Kanno
トピックブランチとは
トピックブランチとは
nakajima_yuji
クロージャデザインパターン
クロージャデザインパターン
Moriharu Ohzu
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
Takuto Wada
SPAのルーティングの話
SPAのルーティングの話
ushiboy
Recomendados
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
増田 亨
オブジェクト指向できていますか?
オブジェクト指向できていますか?
Moriharu Ohzu
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
Masakazu Matsushita
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメ
Yoji Kanno
トピックブランチとは
トピックブランチとは
nakajima_yuji
クロージャデザインパターン
クロージャデザインパターン
Moriharu Ohzu
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
Takuto Wada
SPAのルーティングの話
SPAのルーティングの話
ushiboy
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
こわくない Git
こわくない Git
Kota Saito
いつやるの?Git入門
いつやるの?Git入門
Masakazu Matsushita
「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)
「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)
parrotstudio
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
Tadahiro Ishisaka
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
shinjiigarashi
Redmine issue assign notice plugin の紹介
Redmine issue assign notice plugin の紹介
onozaty
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
Mikiya Okuno
データベース設計徹底指南
データベース設計徹底指南
Mikiya Okuno
図解gitworkflows(7)
図解gitworkflows(7)
ktateish
SQLおじさん(自称)がBigQueryのStandard SQLを使ってみた
SQLおじさん(自称)がBigQueryのStandard SQLを使ってみた
Kumano Ryo
【DL輪読会】Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Mo...
【DL輪読会】Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Mo...
Deep Learning JP
Redmineとgitの 連携利用事例
Redmineとgitの 連携利用事例
Tomohisa Kusukawa
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
モジュールの凝集度・結合度・インタフェース
モジュールの凝集度・結合度・インタフェース
Hajime Yanagawa
(自分流)Gitの運用ルール
(自分流)Gitの運用ルール
Erina Takei
オブジェクト指向とSOLID原則の入門
オブジェクト指向とSOLID原則の入門
KISARAGIMakoto
トランクベース開発を活用して爆速に開発した話
トランクベース開発を活用して爆速に開発した話
Tier_IV
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
yoku0825
ChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AI
Shota Imai
06 オブジェクト指向の基礎
06 オブジェクト指向の基礎
文樹 高橋
F流『オブジェクト指向の考え方の基礎の基礎』~ソフトウェア開発の原則編~
F流『オブジェクト指向の考え方の基礎の基礎』~ソフトウェア開発の原則編~
Fujio Kojima
Mais conteúdo relacionado
Mais procurados
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
こわくない Git
こわくない Git
Kota Saito
いつやるの?Git入門
いつやるの?Git入門
Masakazu Matsushita
「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)
「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)
parrotstudio
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
Tadahiro Ishisaka
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
shinjiigarashi
Redmine issue assign notice plugin の紹介
Redmine issue assign notice plugin の紹介
onozaty
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
Mikiya Okuno
データベース設計徹底指南
データベース設計徹底指南
Mikiya Okuno
図解gitworkflows(7)
図解gitworkflows(7)
ktateish
SQLおじさん(自称)がBigQueryのStandard SQLを使ってみた
SQLおじさん(自称)がBigQueryのStandard SQLを使ってみた
Kumano Ryo
【DL輪読会】Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Mo...
【DL輪読会】Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Mo...
Deep Learning JP
Redmineとgitの 連携利用事例
Redmineとgitの 連携利用事例
Tomohisa Kusukawa
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
モジュールの凝集度・結合度・インタフェース
モジュールの凝集度・結合度・インタフェース
Hajime Yanagawa
(自分流)Gitの運用ルール
(自分流)Gitの運用ルール
Erina Takei
オブジェクト指向とSOLID原則の入門
オブジェクト指向とSOLID原則の入門
KISARAGIMakoto
トランクベース開発を活用して爆速に開発した話
トランクベース開発を活用して爆速に開発した話
Tier_IV
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
yoku0825
ChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AI
Shota Imai
Mais procurados
(20)
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
こわくない Git
こわくない Git
いつやるの?Git入門
いつやるの?Git入門
「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)
「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
Redmine issue assign notice plugin の紹介
Redmine issue assign notice plugin の紹介
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
データベース設計徹底指南
データベース設計徹底指南
図解gitworkflows(7)
図解gitworkflows(7)
SQLおじさん(自称)がBigQueryのStandard SQLを使ってみた
SQLおじさん(自称)がBigQueryのStandard SQLを使ってみた
【DL輪読会】Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Mo...
【DL輪読会】Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Mo...
Redmineとgitの 連携利用事例
Redmineとgitの 連携利用事例
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
モジュールの凝集度・結合度・インタフェース
モジュールの凝集度・結合度・インタフェース
(自分流)Gitの運用ルール
(自分流)Gitの運用ルール
オブジェクト指向とSOLID原則の入門
オブジェクト指向とSOLID原則の入門
トランクベース開発を活用して爆速に開発した話
トランクベース開発を活用して爆速に開発した話
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
ChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AI
Destaque
06 オブジェクト指向の基礎
06 オブジェクト指向の基礎
文樹 高橋
F流『オブジェクト指向の考え方の基礎の基礎』~ソフトウェア開発の原則編~
F流『オブジェクト指向の考え方の基礎の基礎』~ソフトウェア開発の原則編~
Fujio Kojima
関数型言語とオブジェクト指向言語(序章)
関数型言語とオブジェクト指向言語(序章)
tadaaki hayashi
ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数
ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数
Satoru Kodaira
オブジェクト指向ワークショップ 201507版
オブジェクト指向ワークショップ 201507版
Mao Ohnishi
だいたい30分で分かるオブジェクト指向
だいたい30分で分かるオブジェクト指向
Anto Mioyama
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
Satoru Kodaira
オブジェクト指向プログラミング再入門
オブジェクト指向プログラミング再入門
Ryo Miyake
第3回勉強会 オブジェクト指向
第3回勉強会 オブジェクト指向
hakoika-itwg
Phpではじめるオブジェクト指向(公開用)
Phpではじめるオブジェクト指向(公開用)
VOYAGE GROUP
第2回勉強会 オブジェクト指向
第2回勉強会 オブジェクト指向
hakoika-itwg
バージョン管理#01 -Subversion編-
バージョン管理#01 -Subversion編-
hakoika-itwg
オブジェクト指向勉強会(基礎)
オブジェクト指向勉強会(基礎)
nomuken
第1回 モデリング勉強会
第1回 モデリング勉強会
hakoika-itwg
第2回 モデリング勉強会
第2回 モデリング勉強会
hakoika-itwg
デジタルメディア創作部勉強会「オブジェクト指向入門1」
デジタルメディア創作部勉強会「オブジェクト指向入門1」
Hokuto Tateyama
第8回勉強会 開発プロセス 「計画ゲーム~ふりかえり」
第8回勉強会 開発プロセス 「計画ゲーム~ふりかえり」
hakoika-itwg
Destaque
(17)
06 オブジェクト指向の基礎
06 オブジェクト指向の基礎
F流『オブジェクト指向の考え方の基礎の基礎』~ソフトウェア開発の原則編~
F流『オブジェクト指向の考え方の基礎の基礎』~ソフトウェア開発の原則編~
関数型言語とオブジェクト指向言語(序章)
関数型言語とオブジェクト指向言語(序章)
ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数
ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数
オブジェクト指向ワークショップ 201507版
オブジェクト指向ワークショップ 201507版
だいたい30分で分かるオブジェクト指向
だいたい30分で分かるオブジェクト指向
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
オブジェクト指向プログラミング再入門
オブジェクト指向プログラミング再入門
第3回勉強会 オブジェクト指向
第3回勉強会 オブジェクト指向
Phpではじめるオブジェクト指向(公開用)
Phpではじめるオブジェクト指向(公開用)
第2回勉強会 オブジェクト指向
第2回勉強会 オブジェクト指向
バージョン管理#01 -Subversion編-
バージョン管理#01 -Subversion編-
オブジェクト指向勉強会(基礎)
オブジェクト指向勉強会(基礎)
第1回 モデリング勉強会
第1回 モデリング勉強会
第2回 モデリング勉強会
第2回 モデリング勉強会
デジタルメディア創作部勉強会「オブジェクト指向入門1」
デジタルメディア創作部勉強会「オブジェクト指向入門1」
第8回勉強会 開発プロセス 「計画ゲーム~ふりかえり」
第8回勉強会 開発プロセス 「計画ゲーム~ふりかえり」
Mais de Wataru Terada
Chrome拡張で改善 表紙
Chrome拡張で改善 表紙
Wataru Terada
PHP選んで良かったこと
PHP選んで良かったこと
Wataru Terada
僕がエンジニアとしていつも考えていること
僕がエンジニアとしていつも考えていること
Wataru Terada
技術ドキュメントで難しい英文に出会ったら
技術ドキュメントで難しい英文に出会ったら
Wataru Terada
PSR-1 と PSR-2 を5分でざっくり理解する
PSR-1 と PSR-2 を5分でざっくり理解する
Wataru Terada
PHP基本的関数QUIZ
PHP基本的関数QUIZ
Wataru Terada
CakePHP を使ってよかったこと
CakePHP を使ってよかったこと
Wataru Terada
自動テストで開発効率を上げるには
自動テストで開発効率を上げるには
Wataru Terada
知ってるようで意外と知らないPHPの便利関数
知ってるようで意外と知らないPHPの便利関数
Wataru Terada
初めてのTravisCIでハマったこと
初めてのTravisCIでハマったこと
Wataru Terada
単体テストで工数を短縮する
単体テストで工数を短縮する
Wataru Terada
デグレを防ぐテストの書き方
デグレを防ぐテストの書き方
Wataru Terada
CakePHP の Cookbook に翻訳貢献する方法と vagrant
CakePHP の Cookbook に翻訳貢献する方法と vagrant
Wataru Terada
Mais de Wataru Terada
(13)
Chrome拡張で改善 表紙
Chrome拡張で改善 表紙
PHP選んで良かったこと
PHP選んで良かったこと
僕がエンジニアとしていつも考えていること
僕がエンジニアとしていつも考えていること
技術ドキュメントで難しい英文に出会ったら
技術ドキュメントで難しい英文に出会ったら
PSR-1 と PSR-2 を5分でざっくり理解する
PSR-1 と PSR-2 を5分でざっくり理解する
PHP基本的関数QUIZ
PHP基本的関数QUIZ
CakePHP を使ってよかったこと
CakePHP を使ってよかったこと
自動テストで開発効率を上げるには
自動テストで開発効率を上げるには
知ってるようで意外と知らないPHPの便利関数
知ってるようで意外と知らないPHPの便利関数
初めてのTravisCIでハマったこと
初めてのTravisCIでハマったこと
単体テストで工数を短縮する
単体テストで工数を短縮する
デグレを防ぐテストの書き方
デグレを防ぐテストの書き方
CakePHP の Cookbook に翻訳貢献する方法と vagrant
CakePHP の Cookbook に翻訳貢献する方法と vagrant
Último
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Último
(10)
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
本当のオブジェクト指向は可読性を上げる
1.
2014-07-28 GMOリサーチ 寺田
渉 Facebook: 寺田渉 Twitter: @wa_terada
2.
オブジェクト指向 って何なのか。 =
オブジェクト指向の 読みやすさ に 気づいてもらう。
3.
ボードゲーム翻訳 CakePHP Cookbook翻訳 TED 字幕
翻訳 開発 (PHP/JavaScript/Java/Perl)
4.
抽象化
5.
抽象化 によって 可読性 を上げます
6.
処理と変数を取りまとめる存在 (オブジェクト)を作り、 その存在に【的確な命名】を 行うこと。
7.
処理は数百行あっても、 的確な名前を付けることで、 毎回中身を見なくてもよくする。 これが抽象化。
8.
毎回中身(具象化先)を 見なければならないようなら、 抽象化としては失敗。
9.
オブジェクト指向の 鍵
10.
それなら 関数切り出し でいいんじゃない?
11.
そうです。 関数切り出しも抽象化の手法。
12.
「関数」だけでなく、 その外側にある「状態」も あわせて取りまとめる存在を作り、 抽象化して 可読性をあげようとする。
13.
【構造化プログラミング】 処理を (サブルーチン or 関数して)とりまとめて 抽象化
(=的確な命名) ↓ 可読性を上げる
14.
【オブジェクト指向】 変数 とそれに 関連する処理
を (クラスとして) とりまとめて 抽象化 (=的確な命名) ↓ 可読性を上げる
15.
何度もメソッドの中を 見なければいけない事態が 生じているのなら、 オブジェクト指向としては負け。
16.
MVC (フレームワーク) で 開発してると 何度もクラスの中を見るけど オブジェクト指向
じゃないの?
17.
オブジェクト指向では ありません!
18.
- 基盤の開発を共有 - 開発スタイルをルール化 することで、開発者によるブレをなくし、 開発効率を上げて安定化させるためにある。 開発者の設計力が十分でなくても 開発可能にするという側面もある。
19.
MVCを使って開発する場合、 可読性や抽象化を意識して オブジェクト設計しないので、 (それ自体はオブジェクト指向で作られていても) それを使っての開発は オブジェクト指向というよりもむしろ フレームワーク指向と呼ぶべきでしょう。
20.
オブジェクトに抽象化することで 可読性が上がると思ったら オブジェクト化する → オブジェクト指向
21.
ぜひ Facebook 等で 寺田渉
まで ご連絡ください!!
22.
以上、ありがとうございました。
Baixar agora