COMPLEX IS EASY, IT’S SIMPLE WHICH IS HARD
COMPLEX IS EASY , ITS SIMPLE WHICH IS HARD SARAH TARAPOREWALLA - - PowerPoint PPT Presentation
COMPLEX IS EASY , ITS SIMPLE WHICH IS HARD SARAH TARAPOREWALLA - - PowerPoint PPT Presentation
COMPLEX IS EASY , ITS SIMPLE WHICH IS HARD SARAH TARAPOREWALLA TECH PRINCIPAL @sarahtarap @sarahtarap Lets Explore Complexity in the Real World 1 How does it happen? 2 The One About The Checkbox 3 The One About The Fortress 4
@sarahtarap
SARAH TARAPOREWALLA
TECH PRINCIPAL
@sarahtarap
3
Let’s Explore
1
Complexity in the Real World
2
How does it happen?
3
The One About The Checkbox
4
The One About The Fortress
5
The One About The Article
6
The One about the Pricing Rules
@sarahtarap
@sarahtarap
Complexity in the Real World
@sarahtarap
Photo courtesy of https://www.flickr.com/photos/chiropractic/3732497731/
@sarahtarap
Photo courtesy of https://www.lamayor.org/mayor-garcetti-unveils-new-easy-read-parking-signs
@sarahtarap
Photo courtesy of hhttps://www.rd.com/advice/saving-money/grocery-shopping-mistakes-that-are-wasting-money/
@sarahtarap
Photo courtesy of https://commons.wikimedia.org/wiki/File:Vein_art_near.png
@sarahtarap
Photo courtesy of http://www.stjohnnsw.com.au/
@sarahtarap
Photo courtesy of https://www.crowdrise.com/handsonlycpr
@sarahtarap
CYNEFIN FRAMEWORK
11Photo courtesy ofhttps://en.wikipedia.org/wiki/Cynefin_framework#/media/File:Cynefin_framework,_February_2011_(2).jpeg
@sarahtarap
How does it happen?
@sarahtarap
2 6 8
@sarahtarap
2 6 8 1 3 4
@sarahtarap
2 6 8 1 3 4 2 5 7
@sarahtarap
2 6 8 1 3 4 2 5 7 5 8 11
@sarahtarap
2 6 8 1 3 4 2 5 7 5 8 11
x < y < z
@sarahtarap
Photo courtesy of https://cdn.pixabay.com/photo/2014/03/24/17/16/brain-295291_960_720.png
@sarahtarap
Photo courtesy of https://betterhumans.coach.me/cognitive-bias-cheat-sheet-55a472476b18
@sarahtarap
@sarahtarap
@sarahtarap
The One About The Checkbox
@sarahtarap
SIMPLE CODE MANIFESTO
23Composition Matchers Tiny Types SRP Decorators Inheritance If-Then-Else Primitives Fat Objects Mixed Concerns
- ver
- ver
- ver
- ver
- ver
@sarahtarap
starapor
@sarahtarap
BOY SCOUT RULE
Photo courtesy of http://disney.wikia.com/wiki/Russell
@sarahtarap
RED GREEN REFACTOR
REFACTOR
26@sarahtarap
RED GREEN REFACTOR
REFACTOR
27REFACTOR REVERT REFACTOR COMMIT
@sarahtarap
Trailing commas in lists
_matcher = new Matcher<Player> { { p => p.InPenaltyBox(), ReducePenaltyTime }, { p => p.WearingAHat(), RemoveTheHat }, { p => true, PlayARound }, };
Brackets { } around conditionals
public void TakeTurn(Player player) { if (player.InPenaltyBox()) { ReducePenaltyTime(); } }
GOOD CITIZEN
28@sarahtarap
INTENTION REVEALING INTERFACES
29IFooHandler => IHandleLotsOfFoos IGameRepository => ICanFindTheGame
@sarahtarap
SIDE-EFFECT FREE CODE
30Photo courtesy of https://xkcd.com/326/
@sarahtarap
SQUINT TEST
Photo courtesy of https://upload.wikimedia.org/wikipedia/en/7/7b/Snellen-myopia.png
@sarahtarap
S
Simple Code Manifesto
@sarahtarap
The One About The Fortress
@sarahtarap
JOB SECURITY
34Photo courtesy of https://imgur.com/gallery/08Zxbv0
@sarahtarap
OPENNESS & COLLABORATION
35@sarahtarap
O
Openness and Collaboration
@sarahtarap
The One About The Article
@sarahtarap
DOMAIN DRIVEN DESIGN
38@sarahtarap
UBIQUITOUS LANGUAGE
39Photo courtesy of http://pngimg.com/download/51770
@sarahtarap
BOUNDED CONTEXTS
40Photo courtesy of https://martinfowler.com/bliki/BoundedContext.html
@sarahtarap
DOMAIN DRIVEN DESIGN
41@sarahtarap
DOMAIN DRIVEN DESIGN
42@sarahtarap
U
Ubiquitous Language & DDD
@sarahtarap
The One About The Legacy
@sarahtarap
EXPLAIN YOUR SYSTEM
Photo courtesy of http://evan.bottch.com/wp-content/uploads/2010/06/whiteboard.jpg
@sarahtarap
SIMON BROWN’S C4 MODEL
@sarahtarap
DESIGN-ON-A-POST-IT
Photo courtesy of http://evan.bottch.com/wp-content/uploads/2010/06/whiteboard.jpg
@sarahtarap
P
Post-it Design
@sarahtarap
The One About The Pricing Rules
@sarahtarap
GENERALISE SPECIALISE
@sarahtarap
S
Specialise to Generalise
@sarahtarap
To Recap
@sarahtarap
S
Simple Code Manifesto O Openness and CollaborationU Ubiquitous Language & DDD P Post-it Design S Specialise to Generalise
@sarahtarap
SARAH TARAPOREWALLA
@sarahtarap
S
Simple Code Manifesto O Openness and Collaboration U Ubiquitous Language & DDD P Post-it Design S Specialise to Generalise
@sarahtarap
Q&A
THANKS FOR LISTENING
@sarahtarap | me@sarahtaraporewalla.com