Part 1. Getting started
If you’re planning to re-engineer a legacy codebase of any reasonable size, it pays to take your time, do your homework, and make sure you’re going about things the right way. In the first part of this book we’ll do a lot of preparatory work, which will pay off later.
In the first chapter we’ll investigate what legacy means and what factors contibute to the creation of unmaintainable software. In chapter 2 we’ll set up an inspection infrastructure that will allow us to quantitatively measure the current state of the software and provide structure and guidance around refactoring.
What tools you use to measure the quality of your software is up to you, and it will depend on factors such as your implementation language and what tools you already have experience with. In chapter 2 I’ll be using three popular software-quality tools for Java called FindBugs, PMD, and Checkstyle. I’ll also show you how to set up Jenkins as a continuous integration server. I’ll refer to Jenkins again at various points in the book.