Submit Search
Code retreatの心得
1 like
1,791 views
Kazuki Murahama
1 of 15
Download now
Downloaded 13 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
More Related Content
PPTX
Coderetreat のススメ at Developers' Summit 2013 Unconference
Kiro Harada
PPTX
PHPカンファレンス2009 - 45分で分かる安全なWebアプリケーション開発のための発注・要件・検収
Hiroshi Tokumaru
PPTX
ここからはじめる SQL Server の状態取得
Masayuki Ozawa
PPTX
SQL Server 入門
Tsuyoshi Kitagawa
PDF
Sql server エンジニアに知ってもらいたい!! sql server チューニングアプローチ
Masayuki Ozawa
PPTX
Sql server これだけはやっておこう 最終版
elanlilac
PDF
How to Make Awesome SlideShares: Tips & Tricks
SlideShare
PDF
Getting Started With SlideShare
SlideShare
Coderetreat のススメ at Developers' Summit 2013 Unconference
Kiro Harada
PHPカンファレンス2009 - 45分で分かる安全なWebアプリケーション開発のための発注・要件・検収
Hiroshi Tokumaru
ここからはじめる SQL Server の状態取得
Masayuki Ozawa
SQL Server 入門
Tsuyoshi Kitagawa
Sql server エンジニアに知ってもらいたい!! sql server チューニングアプローチ
Masayuki Ozawa
Sql server これだけはやっておこう 最終版
elanlilac
How to Make Awesome SlideShares: Tips & Tricks
SlideShare
Getting Started With SlideShare
SlideShare
Similar to Code retreatの心得
(20)
PDF
Coderetreat
YAMANE Toshiaki
PDF
オブジェクト指向の設計と実装の学び方のコツ
増田 亨
PDF
変更を楽で安全なものにするためのオブジェクト指向設計の指針.pdf
naoya takahashi
PDF
オブジェクト指向プログラミング教育法序説
seastar orion
PDF
大江戸Ruby会議
Yuki Akamatsu
PPS
ソフトウェア設計私論
guestb2d5a3
PDF
ちいさなオブジェクトでドメインモデルを組み立てる
増田 亨
PDF
Rubyを使ったオブジェクト指向デザイン実践:第一章発表
Yuta Okazaki
PPTX
Object Oriented Design
Atsushi Suzuki
KEY
リーダブルコード
Keita Otsuka
PPTX
オブジェクト指向分析設計をパパっとおさらい
Daisuke Niihara
PPTX
良いコードとは
Nobuyuki Matsui
PPTX
CleanArchitecture 第4部 「コンポーネントの原則」
鈴木 セシル
PPTX
エンジニアを見極める4つの要素と方程式
LIFULL Co., Ltd.
PDF
どうすれば小さなチームでも大きな成果を出せるのか
Yoshihito Kuranuki
PDF
大きな泥のカタマリを相手にするためのアジャイルと努力と苦労 by Joe Yoder (XP祭り2014)
Yasui Tsutomu
PDF
ソフトウェア開発の現場風景
Koichi ITO
PDF
【schoo WEB-campus】どうすれば小さなチームでも大きな成果を出せるのか
schoowebcampus
PDF
開発プロセス 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第2回】
Tomoharu ASAMI
PDF
第2回 モデリング勉強会
hakoika-itwg
Coderetreat
YAMANE Toshiaki
オブジェクト指向の設計と実装の学び方のコツ
増田 亨
変更を楽で安全なものにするためのオブジェクト指向設計の指針.pdf
naoya takahashi
オブジェクト指向プログラミング教育法序説
seastar orion
大江戸Ruby会議
Yuki Akamatsu
ソフトウェア設計私論
guestb2d5a3
ちいさなオブジェクトでドメインモデルを組み立てる
増田 亨
Rubyを使ったオブジェクト指向デザイン実践:第一章発表
Yuta Okazaki
Object Oriented Design
Atsushi Suzuki
リーダブルコード
Keita Otsuka
オブジェクト指向分析設計をパパっとおさらい
Daisuke Niihara
良いコードとは
Nobuyuki Matsui
CleanArchitecture 第4部 「コンポーネントの原則」
鈴木 セシル
エンジニアを見極める4つの要素と方程式
LIFULL Co., Ltd.
どうすれば小さなチームでも大きな成果を出せるのか
Yoshihito Kuranuki
大きな泥のカタマリを相手にするためのアジャイルと努力と苦労 by Joe Yoder (XP祭り2014)
Yasui Tsutomu
ソフトウェア開発の現場風景
Koichi ITO
【schoo WEB-campus】どうすれば小さなチームでも大きな成果を出せるのか
schoowebcampus
開発プロセス 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第2回】
Tomoharu ASAMI
第2回 モデリング勉強会
hakoika-itwg
Ad
More from Kazuki Murahama
(10)
PDF
2022_08_10 SaaS.tech #5業務システム開発でデザインとフロントエンドも妥協しない話
Kazuki Murahama
PDF
kintoneの新機能、Webhookを使って社内システムをもっとインテグレートする #2 SmartTechGeeks
Kazuki Murahama
PPTX
kintone x AWSで超ファストシステムを作ろう 〜 AWSでkintone APIをよりよく使う〜
Kazuki Murahama
PDF
継続的目標達成メソッド
Kazuki Murahama
PDF
Kintoneでエンジニアが納得のいく社内システムをつくる
Kazuki Murahama
PDF
Okinawa frontend meetup1_俺のフロントエンド開発がこんなに時代おくれなワケがない
Kazuki Murahama
PDF
攻める情シス
Kazuki Murahama
PPTX
【社内勉強会】Docker入門
Kazuki Murahama
PPT
Munin入れてみた
Kazuki Murahama
KEY
Xhago3_network_no_immade
Kazuki Murahama
2022_08_10 SaaS.tech #5業務システム開発でデザインとフロントエンドも妥協しない話
Kazuki Murahama
kintoneの新機能、Webhookを使って社内システムをもっとインテグレートする #2 SmartTechGeeks
Kazuki Murahama
kintone x AWSで超ファストシステムを作ろう 〜 AWSでkintone APIをよりよく使う〜
Kazuki Murahama
継続的目標達成メソッド
Kazuki Murahama
Kintoneでエンジニアが納得のいく社内システムをつくる
Kazuki Murahama
Okinawa frontend meetup1_俺のフロントエンド開発がこんなに時代おくれなワケがない
Kazuki Murahama
攻める情シス
Kazuki Murahama
【社内勉強会】Docker入門
Kazuki Murahama
Munin入れてみた
Kazuki Murahama
Xhago3_network_no_immade
Kazuki Murahama
Ad
Code retreatの心得
1.
Code Retreatの心得 Kazuki Murahama 2012-10-09
2.
シンプルな設計のための4つのルール OOの原則(SOLID) オブジェクト健康体操 ペアプログラミングとコミュニケーション ピンポンペア
3.
シンプルな設計のための4つのルール 1. PASS ALL
TESTS すべてをテストをパスする 2. CLEAR, EXPRESSIVE, & CONSISTENT きれいで、分かりやすく、一貫性があること 3. DUPLICATES NO BEHAVIOR OR CONFIGURATION 重複はだめ 4. MINIMAL METHODS, CLASSES, & MODULES 関数やクラス、モジュールは小さく
4.
OOの原則(SOLID)オブジェクト指向設計原則 単一責任の原則(SRP:the Single
Responsibility Principle) クラスを変更する理由は1つ以上存在してはならない。 変更理由が2つあるということは、責任(役割)も2つある。 役割を複数もつクラスはもろい 複数の役割がある場合、一つの変更に対する影響が大きい 保守で違う人が修正したら簡単に壊れる クラスは密度が濃くて固いのが一番 1クラス1責任、ピュアであること 責任を見極めるには、”変更理由の観点から眺める” TDDによりかなり早い段階でSRP違反を発見できる
5.
OOの原則(SOLID)オブジェクト指向設計原則 オープン・クローズドの原則(OCP:the Open-Closed
Principle)(開放-閉鎖原則) ソフトウェアの構成要素は、拡張に対して開いていて、修正に対して閉じていなければならな い。 拡張しやすく、修正による影響が少ない この原則はオブジェクト指向設計の核心(柔軟性、再利用性、保守性) 事前に抽象クラスを用意する 使う側に影響を与えてはいけない 例
6.
OOの原則(SOLID)オブジェクト指向設計原則 リスコフの置換原則(LSP:the Liskov
Substitution Principle) 派生型はその基本型と置換可能でなければならない。 派生クラスがその基本クラスで使われるところにおいても、正常に動作することを保証しなけ ればならない。 例 : http://d.hatena.ne.jp/asakichy/20090127/1233109959
7.
OOの原則(SOLID)オブジェクト指向設計原則 依存関係逆転の原則(DIP:the Dependency
Inversion Principle) 上位のモジュールは下位のモジュールに依存してはならない。どちらのモジュールも「抽象」 に依存すべきである。 「抽象」は実装の詳細に依存してはならない。実装の詳細が「抽象」に依存すべきである。 OOプログラミングでは「方針」「詳細」とも抽象に依存させることで、悪しき依存関係を逆転で きる。 アプリケーションの方針を決めていて、他に対して影響を与えるモジュール(=言うなれば「偉 い」ヒト)は上位。 それにより抽象と実装の詳細は完全に切り離され、コードの保守がずっと楽になる。 例 : http://d.hatena.ne.jp/asakichy/20090128/1233144989
8.
OOの原則(SOLID)オブジェクト指向設計原則 インターフェイス分離の原則(ISP:the Interface
Segregation Principle) クライアントに、クライアントが利用しないメソッドへの依存を強制してはならない。 クライアントは複数のインターフェイスを利用するけど、そのすべてが互いに強い関連を持っ ているわけではない。 関連性持ったインターフェイスはグループ化して、抽象基本クラスとして分けて利用すべき。 例 : http://d.hatena.ne.jp/asakichy/20090129/1233236193
9.
心からのTDD 失敗するテストを書く できる限り早く、テストがパスするような最小限のコード本体を書く
コードの重複を除去する(リファクタリング)
10.
オブジェクト健康体操 参考 : http://d.hatena.ne.jp/asakichy/20090612
ルール1:インデント1段階 1つのメソッドにつきインデントは1段階までにすること ルール2:else句禁止 else句を使用しないこと ルール3:プリミティブ禁止 すべてのプリミティブ型と文字列型をラップすること ルール4:ドット1つ 1行につきドットは1つまでにすること
11.
オブジェクト健康体操 参考 : http://d.hatena.ne.jp/asakichy/20090612
ルール5:名前省略禁止 名前を省略しないこと ルール6:小エンティティ すべてのエンティティを小さくすること ルール7:インスタンス変数2つ 1つのクラスにつきインスタンス変数は2つまでにすること ルール8:ファーストクラスコレクション ファーストクラスコレクションを使用すること ルール9:プロパティ禁止 Getter/Setter/プロパティを使用しないこと
12.
ペアプログラミングとコミュニケーション ペアプログラミング実践動画 http://www.youtube.com/embed/dYBjVTMUQY0
二人でひとつのキーボードでプログラミングを行う 一人がコーディング(driver)、一人が書かれるコードを眺めエラーや設計を吟味する (observer/navigator) ペアプログラミングやりかた http://p.tl/bC1h-
13.
ピンポンペア 1.
Aさんがテストを書いて、失敗するのを確かめる 2. Bさんがテストを合格するための実装を行う 3. 今度はBさんが次のテストを書き、失敗するのを確かめる 4. Aさんが次のテストを合格するための実装を行う
14.
参考文献 Global Day
Coderetreat http://p.tl/jSbD- オブジェクト指向設計原則 http://d.hatena.ne.jp/asakichy/20090122/1232879842 ペアプログラミングのやりかた http://p.tl/bC1h-
Download