SlideShare a Scribd company logo
1 of 15
山口 博史 
クラスデザインで気をつけたいこと
クラスデザインとは
2
クラスデザイン = クラス設計
    こんなクラスはイヤだ
こんなクラスはイヤだ
4
同じ処理がいくつも書いてある
こんなクラスはイヤだ
5
StringUtil なのに
足し算のメソッドがある
こんなクラスはイヤだ
6
Public メソッドが 50 個
こんなクラスはイヤだ
7
似たような処理なのにコピーして
同じものを作らないと作れない
こんなクラスはイヤだ
8
新しい検索条件を加えるのに、
すべての条件を再テスト
気をつけたいこと
9
1. 共通化
2. 役割の明確化
3. 汎用性
1.共通化
10
同じ処理は2つ書かない!
2.役割の明確化
11
どのような処理が
このクラスの役割か
3.汎用性
12
どんな処理が追加されるかの想像
事例紹介
13
こんな感じでクラス設計してます
どんなクラスが理想か
14
理想は、誰でも読みやすく、
保守がかんたん!
15
ご成長ありがとうございました

More Related Content

Viewers also liked

グローバルにおける品質管理
グローバルにおける品質管理グローバルにおける品質管理
グローバルにおける品質管理
yumi_chappy
 
ストレスをためないために
ストレスをためないためにストレスをためないために
ストレスをためないために
yumi_chappy
 
Ncd 第二回lt会発表資料
Ncd 第二回lt会発表資料Ncd 第二回lt会発表資料
Ncd 第二回lt会発表資料
yumi_chappy
 
時間の使い方 について
時間の使い方 について時間の使い方 について
時間の使い方 について
yumi_chappy
 
プラスのストロークを身に付けよう
プラスのストロークを身に付けようプラスのストロークを身に付けよう
プラスのストロークを身に付けよう
yumi_chappy
 
Appiumを用いたwebブラウザ自動テスト
Appiumを用いたwebブラウザ自動テストAppiumを用いたwebブラウザ自動テスト
Appiumを用いたwebブラウザ自動テスト
yumi_chappy
 
Oracle12cで学ぶ、初めて触れる技術の学び方
Oracle12cで学ぶ、初めて触れる技術の学び方Oracle12cで学ぶ、初めて触れる技術の学び方
Oracle12cで学ぶ、初めて触れる技術の学び方
yumi_chappy
 
Milkcocoaでらくらくシステム構築をやってみよう
Milkcocoaでらくらくシステム構築をやってみようMilkcocoaでらくらくシステム構築をやってみよう
Milkcocoaでらくらくシステム構築をやってみよう
yumi_chappy
 
Lt hour of codeでプログラミングを楽しく学ぼう
Lt hour of codeでプログラミングを楽しく学ぼうLt hour of codeでプログラミングを楽しく学ぼう
Lt hour of codeでプログラミングを楽しく学ぼう
yumi_chappy
 
質の良い睡眠を取る為に
質の良い睡眠を取る為に質の良い睡眠を取る為に
質の良い睡眠を取る為に
yumi_chappy
 
JSフレームワークのシンタックスを比べてみる
JSフレームワークのシンタックスを比べてみるJSフレームワークのシンタックスを比べてみる
JSフレームワークのシンタックスを比べてみる
yumi_chappy
 
オフショアテスティングの様々な形態
オフショアテスティングの様々な形態オフショアテスティングの様々な形態
オフショアテスティングの様々な形態
yumi_chappy
 
流されるのは楽だが恥をかく
流されるのは楽だが恥をかく流されるのは楽だが恥をかく
流されるのは楽だが恥をかく
yumi_chappy
 

Viewers also liked (20)

グローバルにおける品質管理
グローバルにおける品質管理グローバルにおける品質管理
グローバルにおける品質管理
 
ストレスをためないために
ストレスをためないためにストレスをためないために
ストレスをためないために
 
Ncd 第二回lt会発表資料
Ncd 第二回lt会発表資料Ncd 第二回lt会発表資料
Ncd 第二回lt会発表資料
 
時間の使い方 について
時間の使い方 について時間の使い方 について
時間の使い方 について
 
人はAiに負けない
人はAiに負けない人はAiに負けない
人はAiに負けない
 
プラスのストロークを身に付けよう
プラスのストロークを身に付けようプラスのストロークを身に付けよう
プラスのストロークを身に付けよう
 
Appiumを用いたwebブラウザ自動テスト
Appiumを用いたwebブラウザ自動テストAppiumを用いたwebブラウザ自動テスト
Appiumを用いたwebブラウザ自動テスト
 
プレゼンテーション 3 (2)
プレゼンテーション 3 (2)プレゼンテーション 3 (2)
プレゼンテーション 3 (2)
 
Oracle12cで学ぶ、初めて触れる技術の学び方
Oracle12cで学ぶ、初めて触れる技術の学び方Oracle12cで学ぶ、初めて触れる技術の学び方
Oracle12cで学ぶ、初めて触れる技術の学び方
 
Milkcocoaでらくらくシステム構築をやってみよう
Milkcocoaでらくらくシステム構築をやってみようMilkcocoaでらくらくシステム構築をやってみよう
Milkcocoaでらくらくシステム構築をやってみよう
 
Lt hour of codeでプログラミングを楽しく学ぼう
Lt hour of codeでプログラミングを楽しく学ぼうLt hour of codeでプログラミングを楽しく学ぼう
Lt hour of codeでプログラミングを楽しく学ぼう
 
技術プレゼンの技術
技術プレゼンの技術技術プレゼンの技術
技術プレゼンの技術
 
ゲームから学ぶui ux
ゲームから学ぶui uxゲームから学ぶui ux
ゲームから学ぶui ux
 
HRMという考え方
HRMという考え方HRMという考え方
HRMという考え方
 
質の良い睡眠を取る為に
質の良い睡眠を取る為に質の良い睡眠を取る為に
質の良い睡眠を取る為に
 
JSフレームワークのシンタックスを比べてみる
JSフレームワークのシンタックスを比べてみるJSフレームワークのシンタックスを比べてみる
JSフレームワークのシンタックスを比べてみる
 
オフショアテスティングの様々な形態
オフショアテスティングの様々な形態オフショアテスティングの様々な形態
オフショアテスティングの様々な形態
 
はじめよう、firebase
はじめよう、firebaseはじめよう、firebase
はじめよう、firebase
 
流されるのは楽だが恥をかく
流されるのは楽だが恥をかく流されるのは楽だが恥をかく
流されるのは楽だが恥をかく
 
Webで簡単に音声認識
Webで簡単に音声認識Webで簡単に音声認識
Webで簡単に音声認識
 

More from yumi_chappy (20)

Why
WhyWhy
Why
 
Itelt vol7 7
Itelt vol7 7Itelt vol7 7
Itelt vol7 7
 
Itelt vol7 1
Itelt vol7 1Itelt vol7 1
Itelt vol7 1
 
Itelt vol7 9
Itelt vol7 9Itelt vol7 9
Itelt vol7 9
 
Itelt vol7 8
Itelt vol7 8Itelt vol7 8
Itelt vol7 8
 
Itelt vol7 6
Itelt vol7 6Itelt vol7 6
Itelt vol7 6
 
Itelt vol7 2
Itelt vol7 2Itelt vol7 2
Itelt vol7 2
 
Itelt vol7 5
Itelt vol7 5Itelt vol7 5
Itelt vol7 5
 
Itelt vol7 4
Itelt vol7 4Itelt vol7 4
Itelt vol7 4
 
Itelt vol7 3
Itelt vol7 3Itelt vol7 3
Itelt vol7 3
 
理想の教育、上から見るか?下から見るか?
理想の教育、上から見るか?下から見るか?理想の教育、上から見るか?下から見るか?
理想の教育、上から見るか?下から見るか?
 
JAWS DAYS Report
JAWS DAYS ReportJAWS DAYS Report
JAWS DAYS Report
 
資料ビジュアル化のススメ
資料ビジュアル化のススメ資料ビジュアル化のススメ
資料ビジュアル化のススメ
 
美ら海水族館から考えるユーザー心理
美ら海水族館から考えるユーザー心理美ら海水族館から考えるユーザー心理
美ら海水族館から考えるユーザー心理
 
IoT製品の魅力
IoT製品の魅力IoT製品の魅力
IoT製品の魅力
 
新しい家族を紹介します~1台と1匹~
新しい家族を紹介します~1台と1匹~新しい家族を紹介します~1台と1匹~
新しい家族を紹介します~1台と1匹~
 
Windows10でword2vecを使ってみた
Windows10でword2vecを使ってみたWindows10でword2vecを使ってみた
Windows10でword2vecを使ってみた
 
色で伝えるイメージ
色で伝えるイメージ色で伝えるイメージ
色で伝えるイメージ
 
バランスを整える
バランスを整えるバランスを整える
バランスを整える
 
脆弱性のふさぎ方
脆弱性のふさぎ方脆弱性のふさぎ方
脆弱性のふさぎ方