Clean Craftsmanship : Best Practices, Standards und Ethik für die Softwareentwicklung /
Software Craftsmanship ist kein Beruf, sondern eine Berufung. Der legendäre Softwareentwickler Robert C. Martin (»Uncle Bob«) gibt Ihnen mit diesem Buch einen pragmatischen und praktischen Leitfaden für die Praktiken an die Hand, die für die Softwareentwicklung essenziell sind. Uncle Bob erläute...
Clasificación: | Libro Electrónico |
---|---|
Autor principal: | |
Formato: | Electrónico eBook |
Idioma: | Alemán Inglés |
Publicado: |
[Place of publication not identified] :
mitp Verlag,
2022.
|
Edición: | 1. Auflage. |
Colección: | Robert C. Martin series.
|
Temas: | |
Acceso en línea: | Texto completo (Requiere registro previo con correo institucional) |
Tabla de Contenidos:
- Cover
- Impressum
- Titel
- Inhaltsverzeichnis
- Vorwort
- Vorwort des Übersetzers der deutschen Ausgabe
- Einleitung
- Danksagungen
- Über den Autor
- Kapitel 1: Craftsmanship
- Teil I: Die Praktiken
- Kapitel 2: Testgetriebene Entwicklung
- 2.1 Überblick
- 2.1.1 Software
- 2.1.2 Die drei Gesetze des TDD
- 2.1.3 Das vierte Gesetz
- 2.2 Die Grundlagen
- 2.2.1 Einfache Beispiele
- 2.2.2 Stack
- 2.2.3 Primfaktoren
- 2.2.4 Bowling
- 2.3 Fazit
- Kapitel 3: Fortgeschrittenes TDD
- 3.1 Sort 1
- 3.2 Sort 2
- 3.3 Steckenbleiben
- 3.4 Erstellen, Ausführen, Sicherstellen
- 3.4.1 BDD einführen
- 3.4.2 Endliche Automaten
- 3.4.3 Und wieder BDD
- 3.5 Test-Doubles
- 3.5.1 Dummy
- 3.5.2 Stub
- 3.5.3 Spy
- 3.5.4 Mock
- 3.5.5 Fake
- 3.5.6 Das TDD-Unsicherheitsprinzip
- 3.5.7 London vs. Chicago
- 3.6 Architektur
- 3.7 Fazit
- Kapitel 4: Testdesign
- 4.1 Datenbanken testen
- 4.2 Benutzeroberflächen testen
- 4.2.1 Eingaben in der GUI
- 4.3 Test Pattern
- 4.3.1 Testspezifische Unterklasse
- 4.3.2 Self-Shunt
- 4.3.3 Humble Object
- 4.4 Testdesign
- 4.4.1 Das Problem der fragilen Tests
- 4.4.2 Die Eins-zu-eins-Kopplung
- 4.4.3 Durchbrechen der Kopplung
- 4.4.4 Die Videothek
- 4.4.5 Speziell versus allgemein
- 4.5 Transformationsprioritätsgrundsatz
- 4.5.1 {} → Nil
- 4.5.2 Nil → Konstante
- 4.5.3 Konstante → Variable
- 4.5.4 Ohne Bedingung → Verzweigung
- 4.5.5 Wert → Liste
- 4.5.6 Anweisung → Rekursion
- 4.5.7 Verzweigung → Iteration
- 4.5.8 Wert → Veränderter Wert
- 4.5.9 Beispiel: Fibonacci
- 4.5.10 Die Prämisse der Priorität der Transformation
- 4.6 Fazit
- Kapitel 5: Refactoring
- 5.1 Was ist Refactoring?
- 5.2 Das Basis-Toolkit
- 5.2.1 Umbenennen
- 5.2.2 Methode extrahieren
- 5.2.3 Variable extrahieren
- 5.2.4 Feld extrahieren
- 5.2.5 Rubiks Würfel
- 5.3 Die Praktiken
- 5.3.1 Tests
- 5.3.2 Schnelle Tests
- 5.3.3 Aufbrechen tiefreichender Eins-zu-eins-Kopplungen
- 5.3.4 Kontinuierliches Refactoring
- 5.3.5 Gnadenloses Refactoring
- 5.3.6 Lassen Sie die Tests bestehen!
- 5.3.7 Lassen Sie sich einen Ausweg offen
- 5.4 Fazit
- Kapitel 6: Einfaches Design
- 6.1 YAGNI
- 6.2 Abgedeckt durch Tests
- 6.2.1 Abdeckung
- 6.2.2 Ein asymptotisches Ziel
- 6.2.3 Design?
- 6.2.4 Aber da ist mehr
- 6.3 Aussagekraft maximieren
- 6.3.1 Die zugrunde liegende Abstraktion
- 6.3.2 Tests: Die zweite Hälfte des Problems
- 6.4 Duplikate minimieren
- 6.5 Zufällige Duplizierung
- 6.6 Größe minimieren
- 6.7 Einfaches Design
- Kapitel 7: Kollaborative Programmierung
- Kapitel 8: Akzeptanztests
- 8.1 Die Praktiken
- 8.2 Der kontinuierliche Build
- Teil II: Die Standards
- Kapitel 9: Produktivität
- 9.1 Wir werden nie Sch**** ausliefern
- 9.2 Leichte Anpassbarkeit
- 9.3 Wir werden immer bereit sein
- 9.4 Stabile Produktivität
- Kapitel 10: Qualität
- 10.1 Kontinuierliche Verbesserung
- 10.2 Furchtlose Kompetenz
- 10.3 Extreme Qualität