Book Description
Summary 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. What's inside 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