Upload
koji-shimada
View
5
Download
1
Embed Size (px)
DESCRIPTION
Citation preview
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札幌の方から来ました
「なんだか一生涯、ずっと旅先にいたような気がし
ますーーいま、僕はふるさとへ帰ってきたのです」
彼女は母親のように微笑した。
「ふるさとへ帰れるひとなんてありませんよ」と、
彼女はやさしい口調でいった。「でも、お友だち同
士の道がおちあったりすると、しばらくのあいだ、
世界じゅうがふるさとのように見えるものです」
Hermann Hesse 著, 秋山英夫 訳「デーミアン」講談社文庫版
自己紹介
From Sapporo, with Love for Ruby.
Ruby札幌主宰/運営チーム
島田 浩二[email protected] http://ruby-sapporo.orghttp://iddy.jp/profile/snoozer05/ http://twitter.com/snoozer05
しまだ こうじ
Photo by kakutani.comhttp://www.flickr.com/photos/68498640@N00/1711263422/
どうぞよろしくお願いします
参加理由
先週の出来事
仕事の打ち合わせが12/5に東京で
2008/12/5 東京
オブラブ忘年会~ふりかえり2008~
✓ 申し込み完了✓ 諸々スケジューリング
準備万端
のはずが
仕事の打ち合わせが12/5に東京で
仕事の打ち合わせが12/5に東京で
せっかくなので自費で来た
イマココ
OOとの関わり的自己紹介
扉を開いた最初の一冊
こんなに心を持っていかれる技術書に出会ったのは初めてだった
冒頭で語られるケントベックのかっこよさ
重度のケントベック廚に
今年の活動
まだまだ道の途中
もっともっと勉強してもっともっといろいろな所に貢献して
いつかXPJUGやオブジェクト倶楽部に話しに来れるといいな
本題
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札幌
アジェンダ
✓ 2種類の利用者✓ 3つの車輪✓ 1つの視点✓まとめ
http://www.flickr.com/photos/srijith/1867095482
2種類の利用者
インターフェイスの利用者
✓コードを書く人✓コードを読む人
読んだことが流れるように頭に入ってくる
考えたことを流れるようにコードにすることが出来る
コード
Fluent interfaceが生み出したい“流れ”
インターフェイス利用者
http://www.flickr.com/photos/fuckr/91530309
3つの車輪
Fluent interfaceの車輪
✓ メソッドチェーン✓ カスケード✓ セマンティクス
http://www.flickr.com/photos/17258892@N05/2588347668
やってみて感じたこと
大事なことはあまり変わらない
✓責務の振り分け✓返り値✓引数✓メソッド名
+α
http://www.flickr.com/photos/srijith/1867095482
流れ
読んだことが流れるように頭に入ってくる
考えたことを流れるようにコードにすることが出来る
コード
Fluent interfaceが生み出したい“流れ”
インターフェイス利用者
読んだことが流れるように頭に入ってくる
考えたことを流れるようにコードにすることが出来る
コード
Fluent interfaceが生み出したい“流れ”
インターフェイス利用者
読んだことが流れるように頭に入ってくる
考えたことを流れるようにコードにすることが出来る
コード
Fluent interfaceが生み出したい“流れ”
インターフェイス利用者
読んだことが流れるように頭に入ってくる
考えたことを流れるようにコードにすることが出来る
コード
Fluent interfaceが生み出したい“流れ”
インターフェイス利用者
Fluent interfaceという観点でインターフェイスを見つめる行為は、インターフェイスの具体的な利用者のことを強く考えさせてくれる
...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」
Fluent interfaceはインターフェイスも人に向けて書かれるべきだと改めて教えてくれている
http://www.flickr.com/photos/suvcougar/
飛躍
インターフェイス設計に動線というメタファを持ってこれないだろうか
動線
動線✓ 建物の中を、人が自然に動く時に通ると思われる径路
✓ 建物の間取りをするときに気をつけるべきこと
✓ 設計の際に利用者の行動パターンを予測し、より明快に、また移動距離が長くならないよう考慮する
http://ja.wikipedia.org/wiki/%E5%8B%95%E7%B7%9A
利用者の行動パターンを予測し、より明快に、移動距離を短く
勉強中
http://www.flickr.com/photos/storm-crypt/2280100565
どうやって見つけるか
これまでの作業は机の上でできています。確かに現場の条件をよーく考慮して、このスケッチは出来ています。でも気をつけて下さい! これは、あくまで、机の上の「絵」にすぎません。現場で、直接、原寸で、絵を描いて、はじめてリアルな形となるのです。
動線の見つけ方
どうやって見つけるか
✓ TDD✓ テストコードが最初の利用者✓インクリメンタルな開発✓ こまめにリリースすることで実際の利用者からフィードバックを受ける
まとめ
✓ 2種類の利用者✓ コードを読む、コードを書く✓ 3つの車輪✓ メソッドチェーン、カスケード、セマンティクス
✓ 1つの視点✓ 利用者に価値があるかどうか
ここまでのまとめ
“インターフェイスに対してプログラミングするのであって,実装に対してプログラミングするのではない” (GoF)
より良いインターフェイスを探求する僕らの冒険はまだ始まったばかり
http://www.flickr.com/photos/pedrosz/2287112249
未完
どうぞ良いお年を