73
2008‐12‐05(Fri); 中国料理 菩提樹 RejectTalks 2008 in オブラブ忘年会 島田 浩二 snoozer.05@ruby‐sapporo.org 日本Rubyの会/Ruby札幌 SHIMADA Koji; Nihon Ruby-no-kai; RubySapporo From Sapporo, with Love for Object Club Ruby札幌の方から 来ました

20081205 Object Club Reject Talks2008

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: 20081205 Object Club Reject Talks2008

2008‐12‐05(Fri); 中国料理 菩提樹 

RejectTalks 2008 in オブラブ忘年会

島田 浩二 snoozer.05@ruby‐sapporo.org

日本Rubyの会/Ruby札幌

SHIMADA Koji; Nihon Ruby-no-kai; RubySapporo

From Sapporo, with Love for Object Club

Ruby札幌の方から来ました

Page 2: 20081205 Object Club Reject Talks2008

「なんだか一生涯、ずっと旅先にいたような気がし

ますーーいま、僕はふるさとへ帰ってきたのです」

 彼女は母親のように微笑した。

「ふるさとへ帰れるひとなんてありませんよ」と、

彼女はやさしい口調でいった。「でも、お友だち同

士の道がおちあったりすると、しばらくのあいだ、

世界じゅうがふるさとのように見えるものです」

Hermann Hesse 著, 秋山英夫 訳「デーミアン」講談社文庫版

Page 3: 20081205 Object Club Reject Talks2008

自己紹介

Page 4: 20081205 Object Club Reject Talks2008

From Sapporo, with Love for Ruby.

Ruby札幌主宰/運営チーム

島田 浩二[email protected] http://ruby-sapporo.orghttp://iddy.jp/profile/snoozer05/ http://twitter.com/snoozer05

しまだ こうじ

Page 5: 20081205 Object Club Reject Talks2008

Photo by kakutani.comhttp://www.flickr.com/photos/68498640@N00/1711263422/

Page 6: 20081205 Object Club Reject Talks2008
Page 7: 20081205 Object Club Reject Talks2008
Page 8: 20081205 Object Club Reject Talks2008

どうぞよろしくお願いします

Page 9: 20081205 Object Club Reject Talks2008

参加理由

Page 10: 20081205 Object Club Reject Talks2008

先週の出来事

Page 11: 20081205 Object Club Reject Talks2008

仕事の打ち合わせが12/5に東京で

Page 12: 20081205 Object Club Reject Talks2008

2008/12/5 東京

オブラブ忘年会~ふりかえり2008~

Page 13: 20081205 Object Club Reject Talks2008
Page 14: 20081205 Object Club Reject Talks2008

✓ 申し込み完了✓ 諸々スケジューリング

Page 15: 20081205 Object Club Reject Talks2008

準備万端

Page 16: 20081205 Object Club Reject Talks2008

のはずが

Page 17: 20081205 Object Club Reject Talks2008

仕事の打ち合わせが12/5に東京で

Page 18: 20081205 Object Club Reject Talks2008

仕事の打ち合わせが12/5に東京で

Page 19: 20081205 Object Club Reject Talks2008

せっかくなので自費で来た

イマココ

Page 20: 20081205 Object Club Reject Talks2008

OOとの関わり的自己紹介

Page 21: 20081205 Object Club Reject Talks2008

扉を開いた最初の一冊

Page 22: 20081205 Object Club Reject Talks2008
Page 23: 20081205 Object Club Reject Talks2008

こんなに心を持っていかれる技術書に出会ったのは初めてだった

Page 24: 20081205 Object Club Reject Talks2008

冒頭で語られるケントベックのかっこよさ

Page 25: 20081205 Object Club Reject Talks2008

重度のケントベック廚に

Page 26: 20081205 Object Club Reject Talks2008

今年の活動

Page 27: 20081205 Object Club Reject Talks2008
Page 28: 20081205 Object Club Reject Talks2008
Page 29: 20081205 Object Club Reject Talks2008
Page 30: 20081205 Object Club Reject Talks2008

続きは

http://ruby-sapporo.org/

Page 31: 20081205 Object Club Reject Talks2008

まだまだ道の途中

Page 32: 20081205 Object Club Reject Talks2008

もっともっと勉強してもっともっといろいろな所に貢献して

Page 33: 20081205 Object Club Reject Talks2008

いつかXPJUGやオブジェクト倶楽部に話しに来れるといいな

Page 34: 20081205 Object Club Reject Talks2008

本題

Page 35: 20081205 Object Club Reject Talks2008

http://www.flickr.com/photos/mio-spr/2042538806

Fluent interfaceと動線とTalking about “Fluent interface” and “Flow line”

島田 浩二SHIMADA Koji; Nihon Ruby-no-kai; RubySapporo

snoozer.05@ruby‐sapporo.org

日本Rubyの会/Ruby札幌

Page 36: 20081205 Object Club Reject Talks2008

きちんとした資料は

http://ruby-sapporo.org/

Page 37: 20081205 Object Club Reject Talks2008

アジェンダ

✓ 2種類の利用者✓ 3つの車輪✓ 1つの視点✓まとめ

Page 38: 20081205 Object Club Reject Talks2008

http://www.flickr.com/photos/srijith/1867095482

2種類の利用者

Page 39: 20081205 Object Club Reject Talks2008

インターフェイスの利用者

✓コードを書く人✓コードを読む人

Page 40: 20081205 Object Club Reject Talks2008

読んだことが流れるように頭に入ってくる

考えたことを流れるようにコードにすることが出来る

コード

Fluent interfaceが生み出したい“流れ”

インターフェイス利用者

Page 41: 20081205 Object Club Reject Talks2008

http://www.flickr.com/photos/fuckr/91530309

3つの車輪

Page 42: 20081205 Object Club Reject Talks2008

Fluent interfaceの車輪

✓ メソッドチェーン✓ カスケード✓ セマンティクス

http://www.flickr.com/photos/17258892@N05/2588347668

Page 43: 20081205 Object Club Reject Talks2008

やってみて感じたこと

Page 44: 20081205 Object Club Reject Talks2008

大事なことはあまり変わらない

Page 45: 20081205 Object Club Reject Talks2008

✓責務の振り分け✓返り値✓引数✓メソッド名

Page 46: 20081205 Object Club Reject Talks2008
Page 47: 20081205 Object Club Reject Talks2008
Page 48: 20081205 Object Club Reject Talks2008

Page 49: 20081205 Object Club Reject Talks2008

http://www.flickr.com/photos/srijith/1867095482

流れ

Page 50: 20081205 Object Club Reject Talks2008

読んだことが流れるように頭に入ってくる

考えたことを流れるようにコードにすることが出来る

コード

Fluent interfaceが生み出したい“流れ”

インターフェイス利用者

Page 51: 20081205 Object Club Reject Talks2008

読んだことが流れるように頭に入ってくる

考えたことを流れるようにコードにすることが出来る

コード

Fluent interfaceが生み出したい“流れ”

インターフェイス利用者

Page 52: 20081205 Object Club Reject Talks2008

読んだことが流れるように頭に入ってくる

考えたことを流れるようにコードにすることが出来る

コード

Fluent interfaceが生み出したい“流れ”

インターフェイス利用者

Page 53: 20081205 Object Club Reject Talks2008

読んだことが流れるように頭に入ってくる

考えたことを流れるようにコードにすることが出来る

コード

Fluent interfaceが生み出したい“流れ”

インターフェイス利用者

Page 54: 20081205 Object Club Reject Talks2008

Fluent interfaceという観点でインターフェイスを見つめる行為は、インターフェイスの具体的な利用者のことを強く考えさせてくれる

Page 55: 20081205 Object Club Reject Talks2008

...a programmer’s job is too communicatewith other programmers, not just a machine.

Programming, then, is a human task done by humans for humans.

Oh, and writing good code at the same time.

プログラムは、マシンにだけではなく、自分以外のプログラマに向けて書かれるべきなんだ。

そうすることで、プログラミングは人による、人のための、人の仕事になる。

もちろん、それは良いコードにもなっているんだよ。

- Kent Beck「Implementation Patterns」

Page 56: 20081205 Object Club Reject Talks2008

Fluent interfaceはインターフェイスも人に向けて書かれるべきだと改めて教えてくれている

http://www.flickr.com/photos/suvcougar/

Page 57: 20081205 Object Club Reject Talks2008

飛躍

Page 58: 20081205 Object Club Reject Talks2008

インターフェイス設計に動線というメタファを持ってこれないだろうか

Page 59: 20081205 Object Club Reject Talks2008

動線

Page 60: 20081205 Object Club Reject Talks2008

動線✓ 建物の中を、人が自然に動く時に通ると思われる径路

✓ 建物の間取りをするときに気をつけるべきこと

✓ 設計の際に利用者の行動パターンを予測し、より明快に、また移動距離が長くならないよう考慮する

http://ja.wikipedia.org/wiki/%E5%8B%95%E7%B7%9A

Page 61: 20081205 Object Club Reject Talks2008

利用者の行動パターンを予測し、より明快に、移動距離を短く

Page 62: 20081205 Object Club Reject Talks2008

勉強中

Page 63: 20081205 Object Club Reject Talks2008

http://www.flickr.com/photos/storm-crypt/2280100565

どうやって見つけるか

Page 64: 20081205 Object Club Reject Talks2008
Page 65: 20081205 Object Club Reject Talks2008

これまでの作業は机の上でできています。確かに現場の条件をよーく考慮して、このスケッチは出来ています。でも気をつけて下さい! これは、あくまで、机の上の「絵」にすぎません。現場で、直接、原寸で、絵を描いて、はじめてリアルな形となるのです。

Page 66: 20081205 Object Club Reject Talks2008

動線の見つけ方

Page 67: 20081205 Object Club Reject Talks2008

どうやって見つけるか

✓ TDD✓ テストコードが最初の利用者✓インクリメンタルな開発✓ こまめにリリースすることで実際の利用者からフィードバックを受ける

Page 68: 20081205 Object Club Reject Talks2008

まとめ

Page 69: 20081205 Object Club Reject Talks2008

✓ 2種類の利用者✓ コードを読む、コードを書く✓ 3つの車輪✓ メソッドチェーン、カスケード、セマンティクス

✓ 1つの視点✓ 利用者に価値があるかどうか

ここまでのまとめ

Page 70: 20081205 Object Club Reject Talks2008

“インターフェイスに対してプログラミングするのであって,実装に対してプログラミングするのではない” (GoF)

Page 71: 20081205 Object Club Reject Talks2008

より良いインターフェイスを探求する僕らの冒険はまだ始まったばかり

http://www.flickr.com/photos/pedrosz/2287112249

Page 72: 20081205 Object Club Reject Talks2008

未完

Page 73: 20081205 Object Club Reject Talks2008

どうぞ良いお年を