Refactoring Ruby without Ruby - Sergey Pchelincev

Preview:

Citation preview

REFACTOR RUBY WITHOUT RUBY

SERGEY PCHELINTSEV

QUICK INTRO

JALKOBY -> GITHUB || TWITTER

E-MAIL -> LINZ.SERGEY@GMAIL.COM

BEER -> HTTPS://TELEGRAM.ME/BEERJSKYIV

LET’S STICK WITH THE TERMS

REFACTORING IS THE PROCESS OF RESTRUCTURING EXISTING COMPUTER CODE WITHOUT CHANGING ITS EXTERNAL BEHAVIOUR

EXTERNAL BEHAVIOUR IS THE BEHAVIOUR OF AN ENTITY AS SEEN AT ITS INTERFACE, WITHOUT SEEING INSIDE THE ENTITY OR ITS OTHER INTERFACES

WHAT’S MAKE ME PROUD

REFACTORING IS A CORE PART OF

THE RUBY IDEOLOGY

WHAT’S MAKE ME SAD

FOR THE PAST THREE YEARS THERE WAS ANY NEW THING

▸ the tools ecosystem has been slowdown

▸ speakers talks about the same things over & over

▸ the language doesn’t bring anything awesome

(get ready for the built-in pry on 25.12.2016 🎉😒😒😒)

RUBY IN A COMA

John Doe

LONG STORY SHORT

HOLD ON, DON’T BE ANGRY

COMA IS NOT THE ENDAFTER ALL THIS LEMON CAN GIVE US A MONEY FOR A FEW YEARS

JUST DON’T PUT ALL YOUR EFFORT ON IT. OTHERWISE…

WHEN YOU ACCEPT THIS, ONE THING WILL HAPPEN*

YOU WILL USE THE LANGUAGE LESS OFTEN…

WHEN YOU ACCEPT THIS, ONE THING WILL HAPPEN*

… BUT MUCH MORE EFFECTIVELY

*THE EFFECT DOES NOT REPRODUCES ON SHIT CODERS

YOU START DISCOVER ONE INTERESTING SIDE-EFFECT

YOUR RUBY CODE REFACTORS WITHOUT RUBY

PHASE 0

YOU START NOTICING THAT FRONTEND IS NOT A TOY

NOWADAYS

PHASE 1 - CSS

PHASE 1 - CSS

FIRST THEY IGNORE YOU, THEN THEY LAUGH AT YOU, THEN THEY FIGHT YOU, THEN YOU WIN.

Mahatma Gandhi (a senior js developer)

PHASE 2 - JS

PHASE 2 - JS

IT WAS A RADICAL CHANGE IN A PAST FEW YEARS

2010 NOWADAYS

PHASE 2 - JS

IT STEALS:

▸ Views

▸ Presenters

▸ Helpers

▸ Controllers

▸ Routing

▸ Translation and localization

PHASE 2 - JS

ALL YOUR VIEWS IS:

PHASE 2 - JS

RUBY IS JUST A THIN LAYER OF AUTHENTICATION + PERSISTENCE

PHASE 3 - AUTHENTICATION & PERSISTENCE

DATABASES ARE NOT MYSQL ANYMORE

▸ JSON is a part of any adequate database

▸ Row Level Security - your database itself manages an

authorisation logic

▸ Database validation functions

TO SUM UP

EVEN IF RUBY IS STACK IN 2012, THE OUTSIDE WORLD CAN MAKE IT BETTER

FOR THE LAST WORD

THANK YOU

Recommended