While we'd all love to believe that the code we write is flawless and legible, sometimes it's not. The 4 am coding sessions, the rat's nest of legacy code and deprecated libraries, the times when we wrote something brilliant but didn't think to comment, and those 2-hours-to-develop-an-extensive-Wordpress-plugin days mean that our projects can sometimes descend into chaos. This is a necessary evil in our industry, and yet it has a great impact on our productivity and technical debt for our projects and companies. Revisiting legacy code or hacked jobs and refactoring them forces you to learn from others' (and your past self's) mistakes. Emphasizing code quality within your team may mean a slightly greater initial time investment, but improves your productivity and the predictability of your software in the long run.
We'll discuss the 'why' of technical debt as well as best practices surrounding refactoring and becoming more efficient with code quality control. We'll look at some suggestions on how to refactor that (horrifying) legacy project, development pitfalls to avoid, and briefly review applications like CodeSniffer, PHPUnit, Coverity (among others) to help manage code quality in the world of full stack web development.