Building Maintainable Software, C# Edition: Ten Guidelines for Future-Proof Code
- Length: 172 pages
- Edition: 1
- Language: English
- Publisher: O'Reilly Media
- Publication Date: 2016-06-23
- ISBN-10: 1491954523
- ISBN-13: 9781491954522
- Sales Rank: #1476703 (See Top 100 Books)
Have you ever felt frustrated working with someone else’s code? Difficult-to-maintain source code is a big problem in software development today, leading to costly delays and defects. Be part of the solution. With this practical book, you’ll learn 10 easy-to-follow guidelines for delivering C# software that’s easy to maintain and adapt. These guidelines have been derived from analyzing hundreds of real-world systems.
Written by consultants from the Software Improvement Group (SIG), this book provides clear and concise explanations, with advice for turning the guidelines into practice. Examples for this edition are written in C#, while our companion Java book provides clear examples in that language.
- Write short units of code: limit the length of methods and constructors
- Write simple units of code: limit the number of branch points per method
- Write code once, rather than risk copying buggy code
- Keep unit interfaces small by extracting parameters into objects
- Separate concerns to avoid building large classes
- Couple architecture components loosely
- Balance the number and size of top-level components in your code
- Keep your codebase as small as possible
- Automate tests for your codebase
- Write clean code, avoiding “code smells” that indicate deeper problems
Table of Contents
Chapter 1. Introduction
Chapter 2. Write Short Units of Code
Chapter 3. Write Simple Units of Code
Chapter 4. Write Code Once
Chapter 5. Keep Unit Interfaces Small
Chapter 6. Separate Concerns in Modules
Chapter 7. Couple Architecture Components Loosely
Chapter 8. Keep Architecture Components Balanced
Chapter 9. Keep Your Codebase Small
Chapter 10. Automate Tests
Chapter 11. Write Clean Code
Chapter 12. Next Steps
Appendix A. How SIG Measures Maintainability