Produktbild: Code That Fits in Your Head: Heuristics for Software Engineering

Code That Fits in Your Head: Heuristics for Software Engineering

32,99 €

inkl. gesetzl. MwSt., Versandkostenfrei


Beschreibung

Produktdetails

Einband

Taschenbuch

Erscheinungsdatum

15.11.2021

Verlag

Pearson

Seitenzahl

416

Maße (L/B/H)

23,2/17,8/2,3 cm

Gewicht

711 g

Auflage

1. Auflage

Sprache

Englisch

ISBN

978-0-13-746440-1

Beschreibung

Produktdetails

Einband

Taschenbuch

Erscheinungsdatum

15.11.2021

Verlag

Pearson

Seitenzahl

416

Maße (L/B/H)

23,2/17,8/2,3 cm

Gewicht

711 g

Auflage

1. Auflage

Sprache

Englisch

ISBN

978-0-13-746440-1

Herstelleradresse


Email: info@bod.de

Kundinnen und Kunden meinen

0 Bewertungen

Informationen zu Bewertungen

Zur Abgabe einer Bewertung ist eine Anmeldung im Konto notwendig. Die Authentizität der Bewertungen wird von uns nicht überprüft. Wir behalten uns vor, Bewertungstexte, die unseren Richtlinien widersprechen, entsprechend zu kürzen oder zu löschen.

Die Bewertungen sind nach Format, Anzahl Sterne und Datum sortiert.

Verfassen Sie die erste Bewertung zu diesem Artikel

Helfen Sie anderen Kund*innen durch Ihre Meinung

Kundinnen und Kunden meinen

0 Bewertungen filtern

Die Leseprobe wird geladen.
  • Produktbild: Code That Fits in Your Head: Heuristics for Software Engineering
  • 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