How To Spot The Legacy Code Writer In Your Company (Hint: It’s You)

Also available in Czech, kindly translated by Aleš Roubíček


Writing Legacy Code* is a distributed activity.

*In Working Effectively with Legacy Code Michael Feathers defines Legacy Code as “Code with no tests“, which reflects the perspective of legacy code being difficult to work with. I’ll stick to this definition.

Long version

Oh, no! Bad code again

You have been assigned a new task.

Your mission: to add a simple feature to a Corporate project. You know almost nothing about it, but the feature request sounds feasible. You can easily accomplish the task.


This is what you think. Until you open the code base.
Continue reading “How To Spot The Legacy Code Writer In Your Company (Hint: It’s You)”


How to kill Symfony’s Forms and live well

I hate the sfFormDoctrine. I don’t make a mystery of it.

If you are reading this article, it’s probably because you also have been searching for information on how to make them work, mostly in contests a bit more articulated, like in the case of embedding.
The good news is that you’ve found the definitive solution.
The bad news is that you have been gasping for months in a glass of water and wasted precious time reading usless chapters of Symfony‘s manual about Forms.

Very simply: the problems that you always had with the sfFormDoctrine don’t depend on you.
It is the very concept of Form to to be wrong.
Now I will show you to get rid of them and live happy.

Continue reading “How to kill Symfony’s Forms and live well”