Almost every software system is created in difficult conditions and thus from the beginning burdened with quality problems. The most common difficulties are: deadlines forcing us to program hacks; divergent development skills in the team resulting in code of different quality; or old code, that is clumsy, tangled and without unit tests, putting a spoke in our wheel. All these bits and pieces of bad code will raise development costs in the futures that is why they are called technical debt.
In this talk you will see, which principles you should apply to your source code to prevent technical debt growing unrestricted. With the proper tool support refactorings for bad code can quickly be found and eliminated. I will present to you the tool Sotograph which allows us to inspect PHP code on a structural level and try out the effects of refactorings.