Writing Solid Code
"For professional intermediates to advanced C programmers who develop
software, here is a focused and practical book based on writing bug-free
programs in C. Includes practical solutions to detect mistakes before they
become a costly problem"
... back to SoftwareEngineeringBooks or ProgrammingBooks or Books
Quotes from the book
The book contains many quotes about programming. Most of these can be applied to developing and engineering any part of a software system:
- How could I have automatically detected this bug?
- How could I have prevented this bug?
- Enable all optional compiler warnings
- Use list to catch bugs that your compiler may miss
- If you have unit tests, use them
- Use assertions to validate function arguments
- Maintain both ship and debug versions of your program
- Don't waste people's time. Document unclear assertions
- Either remove implicit assumptions, or assert that they are valid
- Use assertions to detect impossible conditions
- Don't hide bugs when you program defensively
- Use a second algorithm to validate your results
- Don't wait for bugs to happen; use startup checks
- Keep debug information to allow stronger checking
- Design your tests carefully. Nothing should be arbitrary
- Don't apply ship version constraints to the debug version. Trade size and speed for error detection