Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ももたろう
Search
terahide
September 06, 2014
Programming
88
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ももたろう
2014/09/06に行われたXP祭り2014 のLTの資料です。
当日は英語でプレゼンテーションを行いました
terahide
September 06, 2014
More Decks by terahide
See All by terahide
アニメに学ぶチームの多様性とコンピテンシー
terahide
0
670
テスト駆動開発でダイエットに挑戦して失敗した話
terahide
0
1.3k
コミュニケーション不全はなぜ起きるか
terahide
0
160
オレオレになりがちなテスト計画を見直した話
terahide
0
190
和服を普段着にするようになって気づいたアジャイルの心
terahide
0
48
Management3.0のワークを受けてから会社の偉い人へM3.0のワークショップをするまでにやったこと
terahide
0
160
一番アジャイルな料理人はソーマくんだと思うんだ
terahide
0
93
Att
terahide
0
42
受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし
terahide
0
47
Other Decks in Programming
See All in Programming
Swiftのレキシカルスコープ管理
kntkymt
0
210
Spring Security 実践 ─ GraphQL APIで実務に役立つ 認証・認可 を学ぶ
wagyu
0
170
Oxlintのカスタムルールの現況
syumai
6
1k
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
340
The NotImplementedError Problem in Ruby
koic
1
630
These Five Tricks Can Make Your Apps Greener, Cheaper, & Nicer
hollycummins
0
280
RTSPクライアントを自作してみた話
simotin13
0
510
AI駆動開発勉強会 広島支部 第一回勉強会 AI駆動開発概要とワークショップ
hayatoshimiu
0
450
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
12k
AutonomyとControlのあいだ:Graflowで記述するAIエージェント協調
myui
0
110
Old Dog, New Tricks: The Java 25 Reinvention - JNation
bazlur_rahman
0
150
AIチームを指揮するOSS「TAKT」活用術 / How to Use “TAKT,” an OSS Tool for Orchestrating AI Teams
nrslib
6
840
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
170
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
190
Measuring & Analyzing Core Web Vitals
bluesmoon
9
860
Accessibility Awareness
sabderemane
1
130
We Have a Design System, Now What?
morganepeng
55
8.2k
Why Our Code Smells
bkeepers
PRO
340
58k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
360
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Transcript
見どころ
英語ができな い てらひで が英語でLTに 挑戦します
てらひで @terahide27 認定スクラムマスター アジャイルコーチ アーキテクト
てらひで @terahide27 http://gigazine.net/news/20140601-anime-2014summer/ 深夜アニメの カバレッジ90%以上
ももたろう
質問です 次のページに 1か所誤りが あります
昔々あるところにお爺さんとお婆さんがいました。働 き者の二人は朝は日の昇る前の暗いうちから、夜は 日が暮れて暗くなるまで毎日毎日働いて暮らしてい ました。それでも二人の暮らしは貧しく日々暮らして いくのが精いっぱいでした。ある日、お爺さんは山に 芝刈りへ、お婆さんは川に洗濯へ出かけました。お 婆さんが川で洗濯をしていると、川の上流から何か が流れてくるではありませんか。なんと大きな桃がど んぶらこ、どんぶらこと流れてきました。お婆さんは 川にはいり桃を拾うと「まぁなんて大きな桃だべや。
おじいさんと一緒に食べることにしましょうかねー」 と桃をしょって帰りました。山から戻ってきたお爺さん と一緒に桃を切ろうとすると、桃はひとりでに「ぱ かーん」と割れ、中から桃子が飛び出てきました。
気づきまし た?
None
http://momokyun.com/
こうしたらわかる •昔々 •お爺さんとお婆さん •流れてきた大きな桃 •桃からももたろう
実装 してみた
注意! もっとよい実装案 があったらぜひ教 えてください
def "ももたろうのストーリー"(){ Calendar cal = Calendar.instance cal.add(Calendar.YEAR, -400) def uncle,aunt
Location.set(Japan,aDeepForest)//TODO a village? uncle = PersonFactory.newInstance() aunt = PersonFactory.newInstance() uncle.move(new Location(20,30),100)//mountain while(true){ Branch b = getBranch() if( b == null){ break; } uncle.pickup(b) } aunt.move(new Location(-30,0),-40)//river for(i=0;i<23;i++){ Clothes c = getClothes (i); aunt.wash(c) } River.flow(new RiverHandler(aunt){ def "catch"(donbrako,aunt){ peach = (Peach)donbrako aunt.keep(peach) } }) def momotaro try{ aunt.cutPeach() }catch(PeachSelfSplitedException e){ momotaro = e.birth } } }
def "ももたろうのストーリー"(){ aLongLongTimeAgo() aDeepForest() def [uncle,aunt] = live() uncle.goMountain() uncle.pickUpBranch(allArround())
aunt.goRiver() aunt.washClothes() eventAtRiver(aunt) def momotaro = birth(aunt.getKeepedPeach) } def eventAtRiver(aunt){ River.flow(new RiverHandler(aunt){ def "catch"(donbrako,aunt){ peach = (Peach)donbrako aunt.keep(peach) } }) } def birth(peach){ def momotaro try{ aunt.cutPeach(new CutPeachHandler(){ def handle(peach){ momotaro = peach.birth } })
あなたの お好みは どちら?
まとめ •意図を伝えるの大事 •読まなくても分かる (直観的) •単純明快
Why Readable? Why Readable?