Building Maintainable Software - Joost Visser, Sylvan Rigal, Gijs Wijnholds, Pascal Van Eck

Building Maintainable Software

Ten Guidelines for Future-Proof Code. C# Edition
Buch | Softcover
172 Seiten
2016 | C# Edition
O'Reilly Media (Verlag)
978-1-4919-5452-2 (ISBN)
22,40 inkl. MwSt
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 the 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

Joost Visser is Head of Research at the Software Improvement Group. In this role, he is responsible for the science behind the methods and tools that SIG offers to measure and master software. Joost also holds a position as professor of Large Scale Software Systems at Radboud University Nijmegen. He has obtained his PhD in Computer Science from the University of Amsterdam and has published over 100 papers on topics such as generic programming, program transformation, green computing, software quality, and software evolution. Joost considers software engineering as a sociotechnical discipline and he is convinced that software measurement is essential for development teams and product owners to thrive.

Sylvan Rigal works as a software quality consultant at SIG since 2011 and is advising clients on managing their IT since 2008. He helps clients achieve lower software maintenance costs and enhanced security by prioritizing improvements in software ix design and development processes. He holds a MSc in international business from Maastricht University, The Netherlands (2006). As an active member of SIG’s software security team, Sylvan trains consultants on analyzing software security risks. When he is not assessing technical health of software, he is training Brazilian jiu jitsu, enjoying Amsterdam’s restaurants or traveling Asia.

Gijs Wijnholds joined the Software Improvement Group in 2015 as a software quality consultant in public administration. He helps clients get in control of their software projects by advising them on development processes and translating technical risks into strategic decisions. Gijs holds a BSc in AI from Utrecht University and a MSc degree in Logic from University of Amsterdam. He is an expert on Haskell and mathematical linguistics.

Pascal van Eck joined the Software Improvement Group (SIG) in 2013 as a general consultant on software quality. Prior to joining SIG, for 13 years Pascal was Assistant Professor of Information Systems at University of Twente, The Netherlands. Pascal holds a PhD in Computer Science from Vrije Universiteit Amsterdam and has published over 80 papers in areas such as enterprise architecture, IT security, and software metrics. Pascal is chairman of the program committee of the Dutch National Conference on Architecture for The Digital World.

After obtaining an MSc degree in Software Engineering from Delft University of Technology in 2005, Rob van der Leek joined SIG as a software quality consultant. Working at SIG is for Rob the closest thing to being a software doctor. In his role as a consultant he combines his thorough technical knowledge on software engineering and software technologies to advice clients how to keep their systems in shape. Next to being a consultant, Rob fulfills a leading role in SIG’s internal development team. This team develops and maintains the company’s software analysis tooling. It’s Rob’s ambition to leave the IT industry a bit better than he found it.

Chapter 1Introduction
What Is Maintainability?
Why Is Maintainability Important?
Three Principles of the Guidelines in This Book
Misunderstandings About Maintainability
Rating Maintainability
An Overview of the Maintainability Guidelines
Chapter 2Write Short Units of Code
Motivation
How to Apply the Guideline
Common Objections to Writing Short Units
See Also
Chapter 3Write Simple Units of Code
Motivation
How to Apply the Guideline
Common Objections to Writing Simple Units of Code
See Also
Chapter 4Write Code Once
Types of Duplication
Motivation
How to Apply the Guideline
Common Objections to Avoiding Code Duplication
See Also
Chapter 5Keep Unit Interfaces Small
Motivation
How to Apply the Guideline
Common Objections to Keeping Unit Interfaces Small
See Also
Chapter 6Separate Concerns in Modules
Motivation
How to Apply the Guideline
Common Objections to Separating Concerns
Chapter 7Couple Architecture Components Loosely
Motivation
How to Apply the Guideline
Common Objections to Loose Component Coupling
See Also
Chapter 8Keep Architecture Components Balanced
Motivation
How to Apply the Guideline
Common Objections to Balancing Components
See Also
Chapter 9Keep Your Codebase Small
Motivation
How to Apply the Guideline
Common Objections to Keeping the Codebase Small
Chapter 10Automate Tests
Motivation
How to Apply the Guideline
Common Objections to Automating Tests
See Also
Chapter 11Write Clean Code
Leave No Trace
How to Apply the Guideline
Common Objections to Writing Clean Code
Chapter 12Next Steps
Turning the Guidelines into Practice
Lower-Level (Unit) Guidelines Take Precedence Over Higher-Level (Component) Guidelines
Remember That Every Commit Counts
Development Process Best Practices Are Discussed in the Follow-Up Book
Appendix How SIG Measures Maintainability

Erscheinungsdatum
Zusatzinfo black & white illustrations
Verlagsort Sebastopol
Sprache englisch
Maße 178 x 233 mm
Gewicht 306 g
Einbandart kartoniert
Themenwelt Informatik Programmiersprachen / -werkzeuge C#
Informatik Software Entwicklung Qualität / Testen
Mathematik / Informatik Informatik Theorie / Studium
Schlagworte C Sharp • Maintainability • Softwareentwicklung • softwareentwicklungstechniken
ISBN-10 1-4919-5452-3 / 1491954523
ISBN-13 978-1-4919-5452-2 / 9781491954522
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
Das umfassende Handbuch: Spracheinführung, Objektorientierung, …

von Andreas Kühnel

Buch | Hardcover (2019)
Rheinwerk (Verlag)
49,90

von Steffen Steinbrecher

Buch | Softcover (2020)
Wiley-VCH (Verlag)
28,00