Slides from my "Back to the roots" talk, performed at Boilings Frogs 2017, the software craftsmanship conference.
BACK TO FORGOTTENRootSMariusz Gil[ source ministry ]@mariuszgil
View Slide
STARTThe
HoW
Microservices
Serverless
Nosql
lambda function
solid principles
design patterns
object oriented programming
Grasp principles
SSDD/HDD
Build & use toolbox. Wisely
Tootrivialto implementTooComplexto maintain
OVER ENGINEERED since day 1
WhaT
oo violations
DIGDIGDIG
interface ItemProvider { ... }interface ItemFilter { ... }class MostPopular implements ItemProvider { ... }class RecentlyPopular implements ItemProvider { ... }class Random implements ItemProvider { ... }class Promoted implements ItemProvider { ... }class CollaborativeFiltering implements ItemProvider { ... }class Clicked implements ItemFilter { ... }class Capping implements ItemFilter { ... }class Outdated implements ItemFilter { ... }class SimilarNameDuplication implements ItemFilter { ... }class RecommenderService{...public function generate($limit = 5){$items = $provider->get($limit * 2);foreach ($this->filters as $filter) {$items = $filter->filter($items);}if ($items->length() < $limit) {$items = $items->add($refill->get($limit));}return $items->unique()->limit($limit);}}
step back, to see more
GRASPGeneral responsibility assignment software patterns
19 95
20 04
Days vs months
TDD/RDD
Define & solve problemUsing right tools
WhY
VALUEThe
Solve right problem
WhY noT
Solve problem worth to solve
we use ...to build ...foR ...to help with ...
LearN
BACK TO FORGOTTENMariusz GilRootS[ source ministry ]@mariuszgil