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
Happy Path, Sad Path
Search
Pierre de La Morinerie
September 30, 2015
Programming
2
250
Happy Path, Sad Path
A journey through warnings, errors, complexity and 🎄 at Captain Train.
Pierre de La Morinerie
September 30, 2015
Tweet
Share
More Decks by Pierre de La Morinerie
See All by Pierre de La Morinerie
Que choisir pour de l'UI : XIBs / Storyboards / Code
kemenaran
0
840
Fail better — Presenting errors in Cocoa
kemenaran
3
1.2k
Other Decks in Programming
See All in Programming
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
2
350
OnlineTestConf: Test Automation Friend or Foe
maaretp
0
110
Amazon Bedrock Agentsを用いてアプリ開発してみた!
har1101
0
340
アジャイルを支えるテストアーキテクチャ設計/Test Architecting for Agile
goyoki
9
3.3k
Flutterを言い訳にしない!アプリの使い心地改善テクニック5選🔥
kno3a87
1
190
Pinia Colada が実現するスマートな非同期処理
naokihaba
4
230
【Kaigi on Rails 2024】YOUTRUST スポンサーLT
krpk1900
1
330
弊社の「意識チョット低いアーキテクチャ」10選
texmeijin
5
24k
Compose 1.7のTextFieldはPOBox Plusで日本語変換できない
tomoya0x00
0
190
2024/11/8 関西Kaggler会 2024 #3 / Kaggle Kernel で Gemma 2 × vLLM を動かす。
kohecchi
5
920
ActiveSupport::Notifications supporting instrumentation of Rails apps with OpenTelemetry
ymtdzzz
1
230
OSSで起業してもうすぐ10年 / Open Source Conference 2024 Shimane
furukawayasuto
0
110
Featured
See All Featured
Optimizing for Happiness
mojombo
376
70k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
890
Into the Great Unknown - MozCon
thekraken
32
1.5k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
GitHub's CSS Performance
jonrohan
1030
460k
Ruby is Unlike a Banana
tanoku
97
11k
10 Git Anti Patterns You Should be Aware of
lemiorhan
654
59k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Imperfection Machines: The Place of Print at Facebook
scottboms
265
13k
Facilitating Awesome Meetings
lara
50
6.1k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Transcript
None
A journey through warnings, errors and Happy Path, Sad Path
Captain Train Un site pour acheter des billets de train.
Super rapidement.
Dans toute l’Europe Captain Train
Captain Train Comment conserver la rapidité malgré la complexité ?
Happy Path – La recherche
Happy Path – La recherche
Happy Path – Le Panier
Happy Path – Le paiement
Happy Path – Le billet
Happy Path Simple.
Sad Path Tout ne se passe pas toujours aussi bien.
Sad Path – La réservation
Sad Path – La réservation
Sad Path – La réservation
Sad Path – La réservation
Sad Path – La réservation
Sad Path – La réservation
Sad Path – La réservation
Sad Path – Le Panier
Sad Path – Le Panier
Sad Path – Le Panier
Sad Path – Le paiement
Sad Path – Le Paiement
Sad Path – Les Billets
Sad Path – Les Billets
Sad Path – Les Billets
Sad Path – Les Billets
Sad Path – Les Billets
Sad Path – Les Billets
Sad Path – Les Billets
Sad Path – Les Billets
Sad Path – Les Billets
Sad Path – Les Billets
Happy Path - Sad Path Contraintes métier Gérer la complexité
Happy Path - Sad Path • Collecter les informations progressivement
Ce qu’on veut
Happy Path - Sad Path • Collecter les informations progressivement
• Prévenir les confusions fréquentes Ce qu’on veut
Happy Path - Sad Path • Collecter les informations progressivement
• Prévenir les confusions fréquentes • Informer en cas d’erreur Ce qu’on veut
Happy Path - Sad Path Ce qu’on pourrait faire
Happy Path - Sad Path Ce qu’on pourrait faire
Happy Path - Sad Path Ce qu’on veut vraiment Éviter
de faire déteindre le Sad Path sur le Happy Path
Happy Path - Sad Path Ce qu’on peut faire à
la place • Partir du cas optimiste
Happy Path - Sad Path Ce qu’on peut faire à
la place • Partir du cas optimiste • Rajouter des étapes seulement si nécessaire
Happy Path - Sad Path Ce qu’on peut faire à
la place • Partir du cas optimiste • Rajouter des étapes seulement si nécessaire • Contextualiser les messages
Happy Path - Sad Path Contextualiser les messages « Ce
train ne part pas de la gare demandée. »
Happy Path - Sad Path Contextualiser les messages « Ce
train ne part pas de la gare demandée. » « Ce train ne part pas de Paris, mais de Massy- Palaiseau, à 30km de Paris. »
Happy Path - Sad Path Contextualiser les messages « Pour
faire cette opération, contactez votre administrateur. »
Happy Path - Sad Path Contextualiser les messages « Pour
faire cette opération, contactez votre administrateur. » « Pour ajouter un passager, contactez Delphine ou Jean-Luc. »
Happy Path - Sad Path Quelques patterns • Chaîner les
dialogues avec des Promesses • Tests d’intégration • Tests utilisateurs
Happy Path - Sad Path Chaîner des dialogues avec des
promesses function addToCartClicked() { return luggagesDialog.prompt().then(() => { return birthdateDialog.prompt(); }).then(() => { return identificationDialog.prompt(); }).then(() => { return book(); }); }
Happy Path - Sad Path Chaîner des dialogues avec des
promesses function payButtonClicked() { return similarTicketDialog.prompt().then(() => { return duplicateTicketDialog.prompt(); }).then(() => { return invalidCouponDialog.prompt(); }).then(() => { return payDialog.prompt(); }); }
Happy Path - Sad Path Tests d’intégration visit('/pay'); click('Payer'); andThen(function()
{ assert.present('Le paiement a été refusé'); });
Happy Path - Sad Path Tests utilisateurs
Happy Path - Sad Path Tests utilisateur
Happy Path - Sad Path Tests utilisateur
Happy Path - Sad Path Tests utilisateur
Happy Path - Sad Path Tests utilisateur
Happy Path - Sad Path Tests utilisateur
Happy Path - Sad Path Bref • Maîtrisez vos contraintes
métier • Simple ≃ rapide
Pierre de La Morinerie Frontend Developer —
[email protected]
Merci ! Pierre de La Morinerie Frontend Developer —
[email protected]