
Clean Craftsmanship
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
- Aus der Feder des legendären Softwareentwicklers Robert C. Martin (»Uncle Bob«), Autor des Bestsellers Clean Code
- Standards und ethische Grundsätze für die Entwicklung von zuverlässiger und vertrauenswürdiger Software
- Mit fünf Kerndisziplinen zu besserem und nachhaltigerem Code: Test-Driven Development (TDD), Refactoring, einfaches Design, kollaborative Entwicklung und Akzeptanztests
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äutert die Methoden, Standards und ethischen Grundsätze, die es Ihnen ermöglichen, robusten und effektiven Code zu schreiben, auf den Sie stolz sein können. Er erörtert wichtige Standards für die Softwareentwicklung, zeigt auf, wie sich die Erwartungen, die andere an Entwickler stellen, von ihren eigenen unterscheiden, und hilft Ihnen dabei, beide Vorstellungen in Einklang zu bringen.
Zum Abschluss geht er auf die Berufsethik für die professionelle Programmierung ein und erläutert die Prinzipien, denen alle Entwickler folgen sollten, um sicheren, nachhaltigen und wartbaren Code zu gewährleisten.
Mit den Methoden und Konzepten aus diesem Buch können sowohl Programmierer als auch ihre Manager konsequent Code liefern, der Vertrauen schafft, statt es zu untergraben - bei Usern und gleichermaßen der gesamten Gesellschaft, die auf Software angewiesen ist.
Aus dem Inhalt- Auf dem Weg zum »Polarstern« der Software Craftsmanship: wissen, wie man gut programmiert
- Praktische Anleitungen zur Anwendung von fünf Kerndisziplinen: testgetriebene Entwicklung (TDD), Refactoring, einfaches Design, kollaborative Entwicklung und Akzeptanztests
- Wie Entwickler und Teams Produktivität, Qualität und Courage fördern können
- Die wahre Bedeutung von Integrität und Teamarbeit sowie zehn spezifische Grundsätze, denen jeder professionelle Softwareentwickler folgen sollte
»Zum richtigen Zeitpunkt eine Erinnerung an die ständig zunehmende Komplexität unserer programmatischen Welt und daran, dass wir es dem Vermächtnis der Menschheit - und uns selbst - schuldig sind, ethische Entwicklung zu betreiben.«
- Aus dem Vorwort von Stacia Heimgartner Viscardi, CST & Agile MentorinReviews / Votes
»Das Werk ist eine exzellente Einführung in vernünftiges Codedesign; explizit auch für Entwickler, die sich autodidaktisch ausgebildet haben und bisher wenig Teamerfahrung mitbringen.« (ix Magazin, 10/22)
More details
Other editions
Additional editions

Person
Content
- 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
- 10.4 Wir werfen die QS nicht über Bord
- 10.4.1 Die QS-Krankheit
- 10.5 Die QS wird nichts finden
- 10.6 Testautomatisierung
- 10.7 Automatisiertes Testen und Benutzeroberflächen
- 10.8 Testen der Benutzeroberfläche
- Kapitel 11: Mut
- 11.1 Wir stehen füreinander ein
- 11.2 Ehrliche Schätzungen
- 11.3 Sie müssen NEIN sagen
- 11.4 Ständiges aggressives Lernen
- 11.5 Mentoring
- Teil III: Die Ethik
- Kapitel 12: Schaden
- 12.1 Erstens, keinen Schaden anrichten
- 12.1.1 Gesellschaftlicher Schaden
- 12.1.2 Funktionsbeeinträchtigung
- 12.1.3 Keine Schädigung der Struktur
- 12.1.4 Soft
- 12.1.5 Tests
- 12.2 Beste Arbeit
- 12.2.1 Es richtig machen
- 12.2.2 Was ist eine gute Struktur?
- 12.2.3 Eisenhower-Matrix
- 12.2.4 Programmierer sind Stakeholder
- 12.2.5 Ihr Bestes
- 12.3 Reproduzierbarer Beweis
- 12.3.1 Dijkstra
- 12.3.2 Beweis der Korrektheit
- 12.3.3 Strukturierte Programmierung
- 12.3.4 Funktionale Dekomposition
- 12.3.5 Testgetriebene Entwicklung
- Kapitel 13: Integrität
- 13.1 Kleine Zyklen
- 13.1.1 Die Geschichte der Versionsverwaltung
- 13.1.2 Git
- 13.1.3 Kurze Zyklen
- 13.1.4 Kontinuierliche Integration
- 13.1.5 Branches versus Toggles
- 13.1.6 Kontinuierliches Deployment
- 13.1.7 Kontinuierlicher Build
- 13.2 Unerbittliche Verbesserung
- 13.2.1 Testabdeckung
- 13.2.2 Mutationstests
- 13.2.3 Semantische Stabilität
- 13.2.4 Aufräumen
- 13.2.5 Kreationen
- 13.3 Hohe Produktivität beibehalten
- 13.3.1 Viskosität
- 13.3.2 Umgang mit Ablenkungen
- 13.3.3 Zeitmanagement
- Kapitel 14: Teamarbeit
- 14.1 Arbeit im Team
- 14.1.1 Offenes/virtuelles Büro
- 14.2 Ehrliche und faire Schätzungen
- 14.2.1 Lügen
- 14.2.2 Ehrlichkeit, Genauigkeit, Präzision
- 14.2.3 Genauigkeit
- 14.2.4 Präzision
- 14.2.5 Aggregation
- 14.2.6 Ehrlichkeit
- 14.3 Respekt
- 14.4 Niemals aufhören zu lernen
- Stichwortverzeichnis
System requirements
File format: PDF
Copy protection: Watermark-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Use the free software Adobe Reader, Adobe Digital Editions, or any other PDF viewer of your choice (see eBook Help).
- Tablet/Smartphone (Android; iOS): Install the free app Adobe Digital Editions or another reading app for eBooks, e.g., PocketBook (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Watermark-DRM, a „soft” copy protection. This means that there are no technical restrictions to prevent illegal distribution. However, there is a personalised watermark embedded in the eBook that can be used to identify the purchaser of the eBook in the event of misuse and to provide evidence for legal purposes.
For more information, see our eBook Help page.