The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time.

Tom Cargill

Chapter 9
Prepare for the Real World

You’ve already learned a lot about writing clean and maintainable Java code, but there’s more to professional software development. Production software has a million reasons to break. And as long as it’s in use, somebody will have to maintain it. User expectations grow and their perception of what they want to do with your software usually changes during usage. After some time in production, everything might have to be changed:

  • Your software should accommodate plenty of new features, even when there’s a large backlog of bugs.

  • There are no longer hundreds of users, but millions using it every day.

  • Your software no longer runs on one machine in a local data center, but on rack-sized servers in several data centers around the world.

The key to coping with this pace is to embrace change—that’s a part of the agile philosophy. Don’t view changing requirements and circumstances as annoying, but as a sign that your software is useful, and be ready to adapt on the fly. That’s why you must make sure that adapting the code won’t break it in unforeseeable ways. Making the code readable and maintainable, part of what this book is about, is a prerequisite for that.

In the last chapter, we’ll touch on general aspects regarding building and running your software, like applying static analysis tools, automating your build so you can do continuous integration and delivery, monitoring your software in production, and speeding it up with concurrency. These things, as well as the whole chapter, are meant as an outlook and not all of them can be nicely explained in two-page code comparisons. That’s why we’ll deviate from the code-snippet style of the book for the final chapter. But we’ll still mix a few comparisons with good (and deliberately short) textual outlines for certain techniques so you know what they’re about and where you can turn for learning more.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.17.79.206