Video description
Building high-quality software is never simple, and it is always a good idea to reexamine the principles of good design and craftsmanship. In this book, you will find a fresh perspective that I hope you will enjoy as much as I did. -- From the Foreword by Cay Horstmann, author of Big Java, Core Java, and many other titles
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.
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 audience
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.
A practical guide to writing better software. -- Juan J. Durillo, LRZ SuperMUC
Absolute must-have for every computer science student! -- Michał Ambroziewicz, Netsprint
This book should be a must-read for every new developer in any company. -- Flavio Diez, codecentric AG
NARRATED BY MARK THOMAS
Table of Contents
Part 1. Preliminaries
Chapter 1. Software qualities and a problem to solve
Chapter 2. Reference implementation
Part 2. Software Qualities
Chapter 3. Need for speed: Time efficiency
Chapter 4. Precious memory: Space efficiency
Chapter 5. Self-conscious code: Reliability through monitoring
Chapter 6. Lie to me: Reliability through testing
Chapter 7. Coding aloud: Readability
Chapter 8. Many cooks in the kitchen: Thread safety
Chapter 9. Please recycle: Reusability
Appendix A. Code golf: Succinctness
Appendix B. The ultimate water container class