There are tools that run a test suite and then tell you which lines of system code actually got run by the tests. They say that this tells you the "test coverage" of the system. These can be useful tools, but it is important to remember that they don't tell you if those lines were actually tested, they only tell you that those lines of code were run. If there is no assertion about the behavior of that code, then it was never actually tested.
Understanding Software
By :
Understanding Software
By:
Overview of this book
In Understanding Software, Max Kanat-Alexander, Technical Lead for Code Health at Google, shows you how to bring simplicity back to computer programming. Max explains to you why programmers suck, and how to suck less as a programmer. There’s just too much complex stuff in the world. Complex stuff can’t be used, and it breaks too easily. Complexity is stupid. Simplicity is smart.
Understanding Software covers many areas of programming, from how to write simple code to profound insights into programming, and then how to suck less at what you do! You'll discover the problems with software complexity, the root of its causes, and how to use simplicity to create great software. You'll examine debugging like you've never done before, and how to get a handle on being happy while working in teams.
Max brings a selection of carefully crafted essays, thoughts, and advice about working and succeeding in the software industry, from his legendary blog Code Simplicity. Max has crafted forty-three essays which have the power to help you avoid complexity and embrace simplicity, so you can be a happier and more successful developer.
Max's technical knowledge, insight, and kindness, has earned him code guru status, and his ideas will inspire you and help refresh your approach to the challenges of being a developer.
Table of Contents (50 chapters)
Understanding Software
Credits
About the Author
www.PacktPub.com
Customer Feedback
Foreword
The Engineer Attitude
The Singular Secret of the Rockstar Programmer
Software Design, in Two Sentences
Clues to Complexity
Ways To Create Complexity: Break Your API
When Is Backwards-Compatibility Not Worth It?
Complexity is a Prison
Design from the Start
The Accuracy of Future Predictions
Simplicity and Strictness
Two is Too Many
Sane Software Design
What is a Bug?
The Source of Bugs
Make It Never Come Back
The Fundamental Philosophy of Debugging
Effective Engineering Productivity
Measuring Developer Productivity
How to Handle Code Complexity in a Software Company
Refactoring is about Features
Kindness and Code
Open Source Community, Simplified
What is a Computer?
The Components of Software: Structure, Action, and Results
Software Revisited: (I)SAR Clarified
Software as Knowledge
The Purpose of Technology
Privacy, Simplified
Simplicity and Security
Test-Driven Development and the Cycle of Observation
The Philosophy of Testing
The Secret of Success: Suck Less
How We Figured Out What Sucked
The Power of No
Why Programmers Suck
The Secret of Fast Programming: Stop Thinking
Developer Hubris
"Consistency" Does Not Mean "Uniformity"
Users Have Problems, Developers Have Solutions
Instant Gratification = Instant Failure
Success Comes from Execution, Not Innovation
Excellent Software
Index
Customer Reviews