@votrubat
@rectorphp
how to upgrade Symfony quickly
guide to sustainable code
tips for extreeeemely lazy devs
best practises for easy change
demo 🧑💻
3 Years 😷 Later...
(my guess)
extra work every 6 months
double the work every 12 months
boring work
BC breaks
repeated work
all code base are the same
MVC
features
input → output
there are patterns
we need plan and design
layers in right order
have the tooling
use the tooling well
get the right people
Coding Standards
PHPStan
Type Coverage
Rector
Symfony 2.8
PHP 7.2
PHP 7.3
PHP 7.4
Symfony 3.0
Symfony 3.1 ...
The smallest PR ever
Work is always finished
1 rule at a time, don't be a hero
Merge as fast as... Elon Musk fires people: 0, max 1 day
3 types of "typed-code"
no types
doc types
type declarations
measure it
put it in CI
at least 80-90 % are you're in amazing shape 💪
at least 3-4
some types are more important than others
property fetch types
method call types
from dummy string to context
use PHP awesome treesome
ECS
PHPStan
Rector
no tags
autoconfigure
PSR-4 autodiscovery
move as much as you can away
solve it today, and forget it forever
the same work in 2 years?
let CI upgrade for you
2 lines in code
new PHP? → add a rule
new Symfony? → add a rule
new PHPUnit? → add a rule
teach other devs
move responsibility from people to the CI
cooperate together
open hands to develpers to work effectively
"How many people is needed to maintain company with single form?"
"How many people is needed to maintain company with single form?"
Now 3500 less...
grow
be balsy
try new tools
ask for engaging work only
no type changes
no boring work
no repeated work
let Rector work for you so...
...you can refactor and improve code
Thank you 🙏
Slides + demo on @votrubaT today