Serious developers know that code can always be improved. With each iteration, you make optimizations—small and large—that can have a huge impact on your application’s speed, size, resilience, and maintainability.
In Seriously Good Software: Code that Works, Survives, and Wins, author, teacher, and Java expert Marco Faella teaches you techniques for writing better code. You’ll start with a simple application and follow it through seven careful refactorings, each designed to explore another dimension of quality.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About the technology
Great code blends the skill of a programmer with the time-tested techniques and best practices embraced by the entire development community. Although each application has its own context and character, some dimensions of quality are always important. This book concentrates on seven pillars of seriously good software: speed, memory usage, reliability, readability, thread safety, generality, and elegance. The Java-based examples demonstrate techniques that apply to any OO language.
About the book
Seriously Good Software is a handbook for any professional developer serious about improving application quality. It explores fundamental dimensions of code quality by enhancing a simple implementation into a robust, professional-quality application. Questions, exercises, and Java-based examples ensure you’ll get a firm grasp of the concepts as you go. When you finish the last version of the book’s central project, you’ll be able to confidently choose the right optimizations for your code.
Evaluating software qualities
Assessing trade-offs and interactions
Fulfilling different objectives in a single task
Java-based exercises you can apply in any OO language
About the reader
For developers with basic object-oriented programming skills and intermediate Java skills.
About the author
Marco Faella teaches advanced programming at a major Italian university. His published work includes peer-reviewed research articles, a Java certification manual, and a video course.
Table of Contents
*Part 1: Preliminaries *
1 Software qualities and a problem to solve
2 Reference implementation
*Part 2: Software Qualities*
3 Need for speed: Time efficiency
4 Precious memory: Space efficiency
5 Self-conscious code: Reliability through monitoring
6 Lie to me: Reliability through testing
7 Coding aloud: Readability
8 Many cooks in the kitchen: Thread safety
9 Please recycle: Reusability