Muutke küpsiste eelistusi

Building Mantainable Software, Java Edition [Pehme köide]

  • Formaat: Paperback / softback, 168 pages, kõrgus x laius x paksus: 233x178x9 mm, kaal: 302 g
  • Ilmumisaeg: 15-Mar-2016
  • Kirjastus: O'Reilly Media
  • ISBN-10: 1491953527
  • ISBN-13: 9781491953525
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, 168 pages, kõrgus x laius x paksus: 233x178x9 mm, kaal: 302 g
  • Ilmumisaeg: 15-Mar-2016
  • Kirjastus: O'Reilly Media
  • ISBN-10: 1491953527
  • ISBN-13: 9781491953525
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 Java 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 Java, while ourcompanion C# book provides workable 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?
1(2)
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(16)
2.1 Motivation
13(1)
2.2 How to Apply the Guideline
14(7)
2.3 Common Objections to Writing Short Units
21(3)
2.4 See Also
24(3)
3 Write Simple Units of Code
27(14)
3.1 Motivation
32(1)
3.2 How to Apply the Guideline
33(4)
3.3 Common Objections to Writing Simple Units of Code
37(1)
3.4 See Also
38(3)
4 Write Code Once
41(14)
4.1 Motivation
45(1)
4.2 How to Apply the Guideline
45(5)
4.3 Common Objections to Avoiding Code Duplication
50(3)
4.4 See Also
53(2)
5 Keep Unit Interfaces Small
55(10)
5.1 Motivation
57(1)
5.2 How to Apply the Guideline
58(4)
5.3 Common Objections to Keeping Unit Interfaces Small
62(1)
5.4 See Also
63(2)
6 Separate Concerns in Modules
65(12)
6.1 Motivation
69(1)
6.2 How to Apply the Guideline
70(3)
6.3 Common Objections to Separating Concerns
73(4)
7 Couple Architecture Components Loosely
77(12)
7.1 Motivation
78(4)
7.2 How to Apply the Guideline
82(2)
7.3 Common Objections to Loose Component Coupling
84(2)
7.4 See Also
86(3)
8 Keep Architecture Components Balanced
89(8)
8.1 Motivation
91(1)
8.2 How to Apply the Guideline
92(2)
8.3 Common Objections to Balancing Components
94(1)
8.4 See Also
94(3)
9 Keep Your Codebase Small
97(10)
9.1 Motivation
98(3)
9.2 How to Apply the Guideline
101(2)
9.3 Common Objections to Keeping the Codebase Small
103(4)
10 Automate Tests
107(16)
10.1 Motivation
109(1)
10.2 How to Apply the Guideline
110(9)
10.3 Common Objections to Automating Tests
119(2)
10.4 See Also
121(2)
11 Write Clean Code
123(10)
11.1 Leave No Trace
123(1)
11.2 How to Apply the Guideline
124(6)
11.3 Common Objections to Writing Clean Code
130(3)
12 Next Steps
133(2)
12.1 Turning the Guidelines into Practice
133(1)
12.2 Lower-Level (Unit) Guidelines Take Precedence Over Higher-Level (Component) Guidelines
133(1)
12.3 Remember That Every Commit Counts
134(1)
12.4 Development Process Best Practices Are Discussed in the Follow-Up Book
134(1)
A How SIG Measures Maintainability 135(4)
Index 139
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. 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. 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. 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.