Muutke küpsiste eelistusi

Building Maintainable Software, C# Edition [Pehme köide]

  • Formaat: Paperback / softback, 172 pages, kõrgus x laius x paksus: 232x177x14 mm, kaal: 306 g
  • Ilmumisaeg: 19-Jul-2016
  • Kirjastus: O'Reilly Media
  • ISBN-10: 1491954523
  • ISBN-13: 9781491954522
Teised raamatud teemal:
  • Pehme köide
  • Hind: 25,32 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Tavahind: 29,79 €
  • Säästad 15%
  • Raamatu kohalejõudmiseks kirjastusest kulub orienteeruvalt 2-4 nädalat
  • Kogus:
  • Lisa ostukorvi
  • Tasuta tarne
  • Tellimisaeg 2-4 nädalat
  • Lisa soovinimekirja
  • Formaat: Paperback / softback, 172 pages, kõrgus x laius x paksus: 232x177x14 mm, kaal: 306 g
  • Ilmumisaeg: 19-Jul-2016
  • Kirjastus: O'Reilly Media
  • ISBN-10: 1491954523
  • ISBN-13: 9781491954522
Teised raamatud teemal:

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
Preface ix
1 Introduction
1(10)
1.1 What Is Maintainability?
2(1)
1.2 Why Is Maintainability Important?
3(1)
1.3 Three Principles of the Guidelines in This Book
4(2)
1.4 Misunderstandings About Maintainability
6(1)
1.5 Rating Maintainability
7(2)
1.6 An Overview of the Maintainability Guidelines
9(2)
2 Write Short Units of Code
11(18)
2.1 Motivation
14(1)
2.2 How to Apply the Guideline
15(7)
2.3 Common Objections to Writing Short Units
22(4)
2.4 See Also
26(3)
3 Write Simple Units of Code
29(14)
3.1 Motivation
35(1)
3.2 How to Apply the Guideline
35(5)
3.3 Common Objections to Writing Simple Units of Code
40(1)
3.4 See Also
41(2)
4 Write Code Once
43(14)
4.1 Motivation
47(1)
4.2 How to Apply the Guideline
48(5)
4.3 Common Objections to Avoiding Code Duplication
53(2)
4.4 See Also
55(2)
5 Keep Unit Interfaces Small
57(10)
5.1 Motivation
59(1)
5.2 How to Apply the Guideline
60(4)
5.3 Common Objections to Keeping Unit Interfaces Small
64(1)
5.4 See Also
65(2)
6 Separate Concerns in Modules
67(14)
6.1 Motivation
72(1)
6.2 How to Apply the Guideline
73(5)
6.3 Common Objections to Separating Concerns
78(3)
7 Couple Architecture Components Loosely
81(12)
7.1 Motivation
82(4)
7.2 How to Apply the Guideline
86(2)
7.3 Common Objections to Loose Component Coupling
88(2)
7.4 See Also
90(3)
8 Keep Architecture Components Balanced
93(8)
8.1 Motivation
95(1)
8.2 How to Apply the Guideline
96(2)
8.3 Common Objections to Balancing Components
98(1)
8.4 See Also
98(3)
9 Keep Your Codebase Small
101(10)
9.1 Motivation
102(3)
9.2 How to Apply the Guideline
105(2)
9.3 Common Objections to Keeping the Codebase Small
107(4)
10 Automate Tests
111(16)
10.1 Motivation
113(1)
10.2 How to Apply the Guideline
114(9)
10.3 Common Objections to Automating Tests
123(2)
10.4 See Also
125(2)
11 Write Clean Code
127(10)
11.1 Leave No Trace
127(1)
11.2 How to Apply the Guideline
128(6)
11.3 Common Objections to Writing Clean Code
134(3)
12 Next Steps
137(2)
12.1 Turning the Guidelines into Practice
137(1)
12.2 Lower-Level (Unit) Guidelines Take Precedence Over Higher-Level (Component) Guidelines
137(1)
12.3 Remember That Every Commit Counts
138(1)
12.4 Development Process Best Practices Are Discussed in the Follow-Up Book
138(1)
A How SIG Measures Maintainability 139(4)
Index 143
Joost Visser is Head of Research at the Software Improvement Group. 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. Sylvan Rigal works as a software quality consultant at SIG since 2011 and is advising clients on managing their IT since 2008. 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. 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. Pascal van Eck joined the Software Improvement Group (SIG) in 2013 as a general consultant on software quality. 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 joined SIG as a software quality consultant. 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.