Your mission, should you choose to accept it, is to support an application built on an older framework. Refactoring isn't an easy option. The code is untested and nowhere near best practices or standards. In this session, we'll talk about strategies to incorporate modern PHP coding practices to add features and functionality and retiring the older code in pieces. We'll review specific examples and code from a real project where we bootstrapped a legacy application that needed a lot of help to become useful to its users and simpler for developers to maintain. We'll talk about strategies to leave the existing code in place until the new code is ready to replace it in whole or in pieces.


Comments are closed.

The talk gave me some good overlook of the major steps and tools that were used in the showcased scenario to refactor a legacy app. I would be even happier if there was some before/after code examples. That'd be my only suggestion.

Emily did a good job walking through her experience with upgrading an existing application to include a better architecture. I liked the code examples that were included and the tools discussed.

Its good to know that the struggle is real outside of the office! Its very difficult to make refactoring interesting, but I am pleased to know that there are others out there that tackle a rough code base and come away with success. I know what it is like to spend a lot of time on a project, only to see it replaced the next year. Kudos for all the work you did in your scholarship app, and kudos for sharing so well how you improved so much on a very flawed system.

Bob Phillips at 09:12 on 25 Apr 2017

Good work! Sorry to hear the project was replaced.
It would be great if you could draw example from multiple project to show different approaches to each 'phase' of the refactoring or the 'Bootstrap' process.

The talk was full of great insight, but at times it felt like Emily was wandering into giving introductory talks about a half-dozen different technologies. Rather than get into code examples for the specific libraries (many of which may not apply), a higher level "we were able to leverage this library, rather than reinvent the wheel" or "this service provided what we needed, so we were able to take advantage of that" may have helped keep everything on track.

That being said, I loved the narrative structure of the talk, which helped frame the *why* of the bootstrapping. It was a bittersweet ending, though, but I suppose that's the nature of software (not spoiling it for future audiences of the talk).