Zum Hauptinhalt springen
Dekorationsartikel gehören nicht zum Leistungsumfang.
Code That Fits in Your Head
Heuristics for Software Engineering
Taschenbuch von Mark Seemann
Sprache: Englisch

31,95 €*

inkl. MwSt.

Versandkostenfrei per Post / DHL

auf Lager, Lieferzeit 1-2 Werktage

Kategorien:
Beschreibung
How to Reduce Code Complexity and Develop Software More Sustainably"Mark Seemann is well known for explaining complex concepts clearly and thoroughly. In this book he condenses his wide-ranging software development experience into a set of practical, pragmatic techniques for writing sustainable and human-friendly code. This book will be a must-read for every programmer." --Scott Wlaschin, author of Domain Modeling Made FunctionalCode That Fits in Your Head offers indispensable, practical advice for writing code at a sustainable pace and controlling the complexity that causes projects to spin out of control. Reflecting decades of experience helping software teams succeed, Mark Seemann guides you from zero (no code) to deployed features and shows how to maintain a good cruising speed as you add functionality, address cross-cutting concerns, troubleshoot, and optimize. You'll find valuable ideas, practices, and processes for key issues ranging from checklists to teamwork, encapsulation to decomposition, API design to unit testing.Seemann illuminates his insights with code examples drawn from a complete sample project. Written in C#, they're designed to be clear and useful to anyone who uses any object-oriented language including Java , C++, and Python. To facilitate deeper exploration, all code and extensive commit messages are available for download.Choose mindsets and processes that work, and escape bad metaphors that don'tUse checklists to liberate yourself, improving outcomes with the skills you already haveGet past analysis paralysis by creating and deploying a vertical slice of your applicationCounteract forces that lead to code rot and unnecessary complexityMaster better techniques for changing code behaviorDiscover ways to solve code problems more quickly and effectivelyThink more productively about performance and securityIf you've ever suffered through bad projects or had to cope with unmaintainable legacy code, this guide will help you make things better next time and every time. Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
How to Reduce Code Complexity and Develop Software More Sustainably"Mark Seemann is well known for explaining complex concepts clearly and thoroughly. In this book he condenses his wide-ranging software development experience into a set of practical, pragmatic techniques for writing sustainable and human-friendly code. This book will be a must-read for every programmer." --Scott Wlaschin, author of Domain Modeling Made FunctionalCode That Fits in Your Head offers indispensable, practical advice for writing code at a sustainable pace and controlling the complexity that causes projects to spin out of control. Reflecting decades of experience helping software teams succeed, Mark Seemann guides you from zero (no code) to deployed features and shows how to maintain a good cruising speed as you add functionality, address cross-cutting concerns, troubleshoot, and optimize. You'll find valuable ideas, practices, and processes for key issues ranging from checklists to teamwork, encapsulation to decomposition, API design to unit testing.Seemann illuminates his insights with code examples drawn from a complete sample project. Written in C#, they're designed to be clear and useful to anyone who uses any object-oriented language including Java , C++, and Python. To facilitate deeper exploration, all code and extensive commit messages are available for download.Choose mindsets and processes that work, and escape bad metaphors that don'tUse checklists to liberate yourself, improving outcomes with the skills you already haveGet past analysis paralysis by creating and deploying a vertical slice of your applicationCounteract forces that lead to code rot and unnecessary complexityMaster better techniques for changing code behaviorDiscover ways to solve code problems more quickly and effectivelyThink more productively about performance and securityIf you've ever suffered through bad projects or had to cope with unmaintainable legacy code, this guide will help you make things better next time and every time. Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
Über den Autor
Mark Seemann, a former economist, found a second career as a programmer and has worked as a web and enterprise developer since the late 1990s. He is a Certified Rockstar Developer and has written a Jolt Award-winning book about Dependency Injection, given more than a hundred international conference talks, and authored video courses for both Pluralsight and Clean Coders. Mark has regularly published his blog ([...].dk) since 2006.
Inhaltsverzeichnis
Series Editor Foreword xix
Preface xxiii
About the Author xxix


Part I: Acceleration 1

Chapter 1: Art or Science? 3

1.1 Building a House 4
1.2 Growing a Garden 7
1.3 Towards Engineering 8
1.4 Conclusion 14

Chapter 2: Checklists 15
2.1 An Aid to Memory 15
2.2 Checklist for a New Code Base 17
2.3 Adding Checks to Existing Code Bases 29
2.4 Conclusion 32

Chapter 3: Tackling Complexity 33
3.1 Purpose 34
3.2 Why Programming Is Difficult 38
3.3 Towards Software Engineering 44
3.4 Conclusion 46

Chapter 4: Vertical Slice 49
4.1 Start with Working Software 50
4.2 Walking Skeleton 53
4.3 Outside-in 60
4.4 Complete the Slice 77
4.5 Conclusion 85

Chapter 5: Encapsulation 87
5.1 Save the Data 87
5.2 Validation 92
5.3 Protection of Invariants 105
5.4 Conclusion 108

Chapter 6: Triangulation 111
6.1 Short-Term versus Long-Term Memory 111
6.2 Capacity 114
6.3 Conclusion 127

Chapter 7: Decomposition 129
7.1 Code Rot 129
7.2 Code That Fits in Your Brain 136
7.3 Conclusion 153

Chapter 8: API Design 155
8.1 Principles of API Design 156
8.2 API Design Example 168
8.3 Conclusion 176

Chapter 9: Teamwork 177
9.1 Git 178
9.2 Collective Code Ownership 187
9.3 Conclusion 199

Part II: Sustainability 201

Chapter 10: Augmenting Code 203

10.1 Feature Flags 204
10.2 The Strangler Pattern 209
10.3 Versioning 218
10.4 Conclusion 220

Chapter 11: Editing Unit Tests 223
11.1 Refactoring Unit Tests 223
11.2 See Tests Fail 233
11.3 Conclusion 234

Chapter 12: Troubleshooting 235
12.1 Understanding 235
12.2 Defects 240
12.3 Bisection 250
12.4 Conclusion 255

Chapter 13: Separation of Concerns 257
13.1 Composition 258
13.2 Cross-Cutting Concerns 267
13.3 Conclusion 274

Chapter 14: Rhythm 275
14.1 Personal Rhythm 276
14.2 Team Rhythm 282
14.3 Conclusion 285

Chapter 15: The Usual Suspects 287
15.1 Performance 288
15.2 Security 292
15.3 Other Techniques 300
15.4 Conclusion 308

Chapter 16: Tour 309
16.1 Navigation 309
16.2 Architecture 318
16.3 Usage 323
16.4 Conclusion 326

Appendix A: List of Practices 329
A.1 The 50/72 Rule 329
A.2 The 80/24 Rule 330
A.3 Arrange Act Assert 330
A.4 Bisection 330
A.5 Checklist for A New Code Base 331
A.6 Command Query Separation 331
A.7 Count the Variables 331
A.8 Cyclomatic Complexity 331
A.9 Decorators for Cross-Cutting Concerns 332
A.10 Devil's Advocate 332
A.11 Feature Flag 332
A.12 Functional Core, Imperative Shell 333
A.13 Hierarchy of Communication 333
A.14 Justify Exceptions from the Rule 333
A.15 Parse, Don't Validate 334
A.16 Postel's Law 334
A.17 Red Green Refactor 334
A.18 Regularly Update Dependencies 335
A.19 Reproduce Defects as Tests 335
A.20 Review Code 335
A.21 Semantic Versioning 335
A.22 Separate Refactoring of Test and Production Code 335
A.23 Slice 336
A.24 Strangler 336
A.25 Threat-Model 337
A.26 Transformation Priority Premise 337
A.27 X-driven Development 337
A.28 X Out Names 338

Bibliography 339
Index 349
Details
Erscheinungsjahr: 2021
Fachbereich: Programmiersprachen
Genre: Informatik
Rubrik: Naturwissenschaften & Technik
Medium: Taschenbuch
Reihe: Robert C. Martin
Inhalt: Kartoniert / Broschiert
ISBN-13: 9780137464401
ISBN-10: 0137464401
Sprache: Englisch
Einband: Kartoniert / Broschiert
Autor: Seemann, Mark
Hersteller: Pearson
Pearson Education Limited
Robert C. Martin
Maße: 234 x 177 x 23 mm
Von/Mit: Mark Seemann
Erscheinungsdatum: 15.11.2021
Gewicht: 0,719 kg
Artikel-ID: 120259057
Über den Autor
Mark Seemann, a former economist, found a second career as a programmer and has worked as a web and enterprise developer since the late 1990s. He is a Certified Rockstar Developer and has written a Jolt Award-winning book about Dependency Injection, given more than a hundred international conference talks, and authored video courses for both Pluralsight and Clean Coders. Mark has regularly published his blog ([...].dk) since 2006.
Inhaltsverzeichnis
Series Editor Foreword xix
Preface xxiii
About the Author xxix


Part I: Acceleration 1

Chapter 1: Art or Science? 3

1.1 Building a House 4
1.2 Growing a Garden 7
1.3 Towards Engineering 8
1.4 Conclusion 14

Chapter 2: Checklists 15
2.1 An Aid to Memory 15
2.2 Checklist for a New Code Base 17
2.3 Adding Checks to Existing Code Bases 29
2.4 Conclusion 32

Chapter 3: Tackling Complexity 33
3.1 Purpose 34
3.2 Why Programming Is Difficult 38
3.3 Towards Software Engineering 44
3.4 Conclusion 46

Chapter 4: Vertical Slice 49
4.1 Start with Working Software 50
4.2 Walking Skeleton 53
4.3 Outside-in 60
4.4 Complete the Slice 77
4.5 Conclusion 85

Chapter 5: Encapsulation 87
5.1 Save the Data 87
5.2 Validation 92
5.3 Protection of Invariants 105
5.4 Conclusion 108

Chapter 6: Triangulation 111
6.1 Short-Term versus Long-Term Memory 111
6.2 Capacity 114
6.3 Conclusion 127

Chapter 7: Decomposition 129
7.1 Code Rot 129
7.2 Code That Fits in Your Brain 136
7.3 Conclusion 153

Chapter 8: API Design 155
8.1 Principles of API Design 156
8.2 API Design Example 168
8.3 Conclusion 176

Chapter 9: Teamwork 177
9.1 Git 178
9.2 Collective Code Ownership 187
9.3 Conclusion 199

Part II: Sustainability 201

Chapter 10: Augmenting Code 203

10.1 Feature Flags 204
10.2 The Strangler Pattern 209
10.3 Versioning 218
10.4 Conclusion 220

Chapter 11: Editing Unit Tests 223
11.1 Refactoring Unit Tests 223
11.2 See Tests Fail 233
11.3 Conclusion 234

Chapter 12: Troubleshooting 235
12.1 Understanding 235
12.2 Defects 240
12.3 Bisection 250
12.4 Conclusion 255

Chapter 13: Separation of Concerns 257
13.1 Composition 258
13.2 Cross-Cutting Concerns 267
13.3 Conclusion 274

Chapter 14: Rhythm 275
14.1 Personal Rhythm 276
14.2 Team Rhythm 282
14.3 Conclusion 285

Chapter 15: The Usual Suspects 287
15.1 Performance 288
15.2 Security 292
15.3 Other Techniques 300
15.4 Conclusion 308

Chapter 16: Tour 309
16.1 Navigation 309
16.2 Architecture 318
16.3 Usage 323
16.4 Conclusion 326

Appendix A: List of Practices 329
A.1 The 50/72 Rule 329
A.2 The 80/24 Rule 330
A.3 Arrange Act Assert 330
A.4 Bisection 330
A.5 Checklist for A New Code Base 331
A.6 Command Query Separation 331
A.7 Count the Variables 331
A.8 Cyclomatic Complexity 331
A.9 Decorators for Cross-Cutting Concerns 332
A.10 Devil's Advocate 332
A.11 Feature Flag 332
A.12 Functional Core, Imperative Shell 333
A.13 Hierarchy of Communication 333
A.14 Justify Exceptions from the Rule 333
A.15 Parse, Don't Validate 334
A.16 Postel's Law 334
A.17 Red Green Refactor 334
A.18 Regularly Update Dependencies 335
A.19 Reproduce Defects as Tests 335
A.20 Review Code 335
A.21 Semantic Versioning 335
A.22 Separate Refactoring of Test and Production Code 335
A.23 Slice 336
A.24 Strangler 336
A.25 Threat-Model 337
A.26 Transformation Priority Premise 337
A.27 X-driven Development 337
A.28 X Out Names 338

Bibliography 339
Index 349
Details
Erscheinungsjahr: 2021
Fachbereich: Programmiersprachen
Genre: Informatik
Rubrik: Naturwissenschaften & Technik
Medium: Taschenbuch
Reihe: Robert C. Martin
Inhalt: Kartoniert / Broschiert
ISBN-13: 9780137464401
ISBN-10: 0137464401
Sprache: Englisch
Einband: Kartoniert / Broschiert
Autor: Seemann, Mark
Hersteller: Pearson
Pearson Education Limited
Robert C. Martin
Maße: 234 x 177 x 23 mm
Von/Mit: Mark Seemann
Erscheinungsdatum: 15.11.2021
Gewicht: 0,719 kg
Artikel-ID: 120259057
Warnhinweis

Ähnliche Produkte

Ähnliche Produkte