Making Legacy
Refactoring Fun Again
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6197464/pasted-from-clipboard.png)
Tomas Votruba
getRector.org, TomasVotruba.cz
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6197659/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6197496/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6197512/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6197522/pasted-from-clipboard.png)
*2015-11
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6197527/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6197630/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6203932/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6203934/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6203935/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6203936/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6203937/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6203939/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6203940/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6203941/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6203942/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6203944/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6203949/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6203950/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6203951/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6203953/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6203954/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6203957/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6203961/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6203964/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6203968/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6203971/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6203979/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6203980/pasted-from-clipboard.png)
Text
Text
Code becomes legacy
as soon as it's been written
Text
Text
Code becomes legacy
as soon as it's been written
Text
Knowledge
learned
Time to Refactor Legacy
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6198355/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6198359/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6198374/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6198378/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6198379/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6198382/pasted-from-clipboard.png)
54 357 lines
151 REST routes
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6198423/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6198481/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6204121/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6204123/pasted-from-clipboard.png)
vendor/bin/rector process src
--set nette-to-symfony
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6198518/pasted-from-clipboard.png)
Time to Refactor Legacy
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6198527/pasted-from-clipboard.png)
Any legacy project
can be migrated to
a new framework
in 1 month.
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6200039/pasted-from-clipboard.png)
1-Month Challenge
1-Month Challenge
More Technical?
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6204124/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6198695/pasted-from-clipboard.png)
One more thing...
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6204032/Screenshot_2019-06-01_11.05.20.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6204028/Screenshot_2019-06-01_11.05.04.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1066382/images/6204033/Screenshot_2019-06-01_11.05.04.png)
@rectorPHP | getRector.org | @votrubaT
Thank you! Questions?
Help me improve →
joind.in/talk/8a4c6