Clean Code für Dummies
Häftad, Tyska, 2020
339 kr
Beställningsvara. Skickas inom 3-6 vardagar
Fri frakt för medlemmar vid köp för minst 249 kr.Clean Code ist eine wichtige Methode, um zu besserer Software zu kommen. Zu beachten sind Korrektheit, Verständlichkeit, Lesbarkeit und Ressourcenverbrauch. Programmieren ist aber mehr als ein Handwerk. Klarer Code ist auch Ausdruck klaren Denkens und beginnt damit schon vor der Niederschrift. Regeln sind wichtige Stützen, aber das eigenständige Denken, Entscheiden und Abwägen ersetzen sie nicht. Das Buch vermittelt handwerkliche Fertigkeiten und stellt das Programmieren in den Gesamtprozess der Softwareentwicklung.
Produktinformation
- Utgivningsdatum2020-06-03
- Mått176 x 240 x 18 mm
- Vikt510 g
- FormatHäftad
- SpråkTyska
- SerieFür Dummies
- Antal sidor298
- FörlagWiley-VCH Verlag GmbH
- ISBN9783527716340
Tillhör följande kategorier
Jürgen Lampe ist IT-Berater in Eschborn in der Nähe von Frankfurt. Er hat Mathematik studiert, Prozessrechenanlagen programmiert und als Hochschullehrer an der TU Dresden gearbeitet. Über die Jahre hat er nie das Coden aufgegeben. Er kennt diverse Programmiersprachen - von Algol60 über PL/I und Pascal bis zu Java - und er kennt die Vor- und Nachteile verschiedener Programmierstile.
- Über den Autor 9Einleitung 23Über dieses Buch 23Konventionen in diesem Buch 24Was Sie nicht lesen müssen 24Törichte Annahmen über die Leser 25Wie dieses Buch aufgebaut ist 26Symbole, die in diesem Buch verwendet werden 27Wie es weitergeht 28Teil I: Das Clean-Code-Prinzip 29Kapitel 1 Software ist Code31Erwartungen an Software 31Probleme haben Ursachen 32Allgemeine Ursachen 32Hardwareentwicklung 33Nichts ohne Code 34Das Wichtigste in Kürze 35Kapitel 2 Dimensionen von Codequalität 37Was bedeutet Qualität? 37Eigenschaften des Qualitätsbegriffs 37Qualitätsindikatoren 38Die Dimensionen von Codequalität 39Korrektheit des Codes 39Lesbarkeit und Wartbarkeit 40Leistungseigenschaften 40Weitere Dimensionen 41Das Qualitätsziel festlegen 41Beispiel: Der euklidische Algorithmus 42Das Wichtigste in Kürze 43Kapitel 3 Alles unter einen Hut – gute Kompromisse finden 45Warum gute Entscheidungen wichtig sind 45Es kommt drauf an 45Widersprüche überall 46Konflikte akzeptieren 47Entscheidungen systematisch treffen 48Konflikte erkennen 48Alternativen sammeln 48Kriterien finden 49Wahlmöglichkeiten bewerten 50Entscheiden 51Mit Augenmaß 51Das Wichtigste in Kürze 52Kapitel 4 Die Eigenschaften sauberen Codes 55Des Clean Codes Kern 55Code als Ziel 56Professionalität 57Es geht immer weiter 58Code als Kommunikationsmittel zwischen Menschen 58Lesbarkeit 59Verständlichkeit 59Eleganz 60Gute Wartbarkeit 61Leichter durch Verständlichkeit 61Nicht ohne Test 61Zu guter Letzt 62Das Wichtigste in Kürze 63Kapitel 5 In der Praxis: Stolpersteine 65Clean Code ist schwer 65Reden wir über die Kosten 65Kurz- und mittelfristige Vorteile 66Langfristige Vorteile 66Bewertung 68Ändern bleibt schwierig 68Manchmal passt es nicht 69Frameworks 70Projektvorgaben 70Starre Abläufe 71Falsche Autoritäten 71Es liegt an Ihnen 73Das Wichtigste in Kürze 73Teil II: An Herausforderungen wachsen 75Kapitel 6 Mehr als Handwerkskunst 77Programmieren ist schwer 77Software professionell entwickeln 79Softwareentwicklung braucht Handwerk 80Handwerk allein reicht nicht 82Das Wichtigste in Kürze 83Kapitel 7 Entwickeln ist (kreative) Wissenschaft 85Formalisiertes Wissen 85Was sind formale Theorien? 86Wann braucht es eine (neue) Theorie? 87Wie Sie zu einer Theorie kommen? 88Mentales Modell als Theorie 88Wenn es so einfach wäre: Viele Hürden 89Und dann auch noch der kleine Rest 90Konsequenzen 91Die Bedeutung des Entwicklers darf nicht unterschätzt werden 91Es werden verschiedene Qualifikationen gebraucht 92Auch die Theorie muss weiterentwickelt werden 93Das Wichtigste in Kürze 94Kapitel 8 Modellierungsdilemma und Entscheidungsmüdigkeit 95Das Modellierungsdilemma 95Was macht ein Modell aus? 95Ein Modell für alle Anforderungen gesucht 96Und wenn es kein umfassendes Modell gibt? 98Entscheiden ermüdet 100Entwickeln heißt entscheiden 100Entscheidungskraft optimal nutzen 101Das Wichtigste in Kürze 103Kapitel 9 Fallen vermeiden 105Erst mal loslegen 105Agil heißt nicht »kein Konzept« 105Abgrenzung ist alles 106Wenn es nicht anders geht 107Schön flexibel bleiben 108Flexible Programme 109Flexibilität bläht auf 109Die Sinnfrage 110Modularisierung übertreiben 111Davon verschwindet die Komplexität nicht 111Zerlegung will geübt sein 112Schon wieder: Kosten 113Wachsen im Korsett 113Das Wichtigste in Kürze 114Teil III: Sauberen Code schreiben 115Kapitel 10 Namen sind nicht Schall und Rauch 117Benennungen 117Namen versus Bezeichner 118Namen versus Begriffe 118Woher nehmen? 120Lösungsdomäne 120Anwendungsdomäne 120Eigenschaften guter Namen 121Den Sinn vermitteln 121Nicht in die Irre führen 121Sinnvolle Unterschiede 122Verschlüsselungen vermeiden 123Verwendbarkeit 124Klassen und Methoden 125Die Qual der Sprachwahl 125Englisch 126Deutsch 126Keine Empfehlung 126Was zu tun ist 127Das Wichtigste in Kürze 127Kapitel 11 Reine Formfrage – Formatierung 129Das Auge liest mit 129Vertikales Formatieren 131Codelänge 131Vorbild Zeitung 131Vertikale Abstände 132Vertikale Ordnung 134Horizontales Formatieren 135Zeilenlänge 135Horizontale Abstände 136Einrückungen 138Automatische Formatierung 139Vorteile 139Nachteile 140Das Wichtigste in Kürze 140Kapitel 12 Code zuerst – sind Kommentare nötig? 141Code allein reicht nicht 141Erklärung gesucht 141Das große Missverständnis: Code spricht nur den Computer an 142Kommentare – hilfreich oder störend? 142Kommentare lügen – oft 143Sinnvolle Kommentare 143Rechtshinweise 143Unerledigtes 143Klarstellungen und Warnungen 144Algorithmen 144Spezifikationen 144Pragmatisches 146Schlechte Kommentare 147Nichtssagendes 147Auskommentierter Code 148Unterschiedliche Sprachen 148Fehlender Bezug 148JavaDoc 149Dokumentationen 150Schönheit 151Das Wichtigste in Kürze 152Kapitel 13 Kleine Schritte – saubere Methoden 153Methoden 153Begriffliche Klärung 154Eigenschaften 154Der Inhalt 155Abstraktion 155Trennung von Bearbeitung und Abfrage 155Testen 156Die Größe 156Eine Aufgabe 156Zeilenzahl 157Schachtelungsstruktur 158Parameter 159Anzahl 160Stellung 162Parameter vermeiden 162Testen 163Flag-Parameter 163Resultate 164Rückgabewerte 164Rückgabewert null 165Ergebnisparameter 166Rückkehrcodes 167Seiteneffekte 167Auswahlanweisungen 168Alles fließt 170Das Wichtigste in Kürze 170Kapitel 14 Passend schneiden – Schnittstellen 171Die Rolle von Schnittstellen 171Mehr als ein Interface 171Isoliert betrachtet 172Im Verbund 172Komponenten 173Interface Segregation 174Schlanke Schnittstellen 174Kohäsion 175Kombination 179Keine Missverständnisse 180Exakte Beschreibung 180Voraussetzungen aufführen 181Vollständige Definition 182Tests und Mocks 182Kein Code ohne Fremdcode 183Eine unsichtbare Grenze 184Abhängigkeiten isolieren 184Wie es gehen könnte 185Das Wichtigste in Kürze 189Kapitel 15 Objekte und Datensätze unterscheiden 191Was ist ein Objekt? 191Und ein Datensatz? 192Die Praxis 193Die Objekt-Datensatz-Antisymmetrie 194Java und Objektorientierung 194Prozeduraler Code 195Objektorientierter Code 197Schlussfolgerungen 199Das Gesetz von Demeter 199Internes intern halten 200Trotzdem kommunikativ sein 200Das gilt auch umgekehrt 202Aufrufketten 203Fazit 205Das Wichtigste in Kürze 205Kapitel 16 Wege im Dschungel – Regeln 207Wiederholungen vermeiden 207Die Regel 207Motivation 208Umsetzung 209Schwierigkeiten 210Liefern, was verlangt wird 211Die Regel 211Motivation 212Umsetzung 212Schwierigkeiten 213Jedes für sich 213Die Regel 213Motivation 214Umsetzung 214Schwierigkeiten 214Die SOLID-Regeln 215Single Responsibility Principle – SRP 215Open Closed Principle – OCP 216Liskov Substitution Principle – LSP 217Interface Segregation Principle – ISP 217Dependency Inversion Principle – DIP 217Einfach besser 218Halte es einfach 218Geringste Überraschung 219Fazit 219Das Wichtigste in Kürze 219Kapitel 17 Fehler passieren – Fehlerbehandlung221Ausgangslage 221Fehlerarten 222Datenfehler 222Seltene Datenfehler 223Häufige Datenfehler 223Funktionsfehler 225Hardwarefehler 226Semantische Fehler 227Plausibilitätsprüfung 227Wertebereichs-Überschreitungen 229Keine Panik 231Das Wichtigste in Kürze 231Kapitel 18 Ausnahmen regeln – Exceptions 233Sinn und Zweck 233Checked und Unchecked Exceptions 234Kosten 235Werfen von Exceptions 235Generische Exceptions verwenden 235Spezielle Exceptions definieren 236Fangen von Exceptions 238Funktionsblöcke bestimmen 238Fachliche und technische Exceptions 239Verpacken von Exceptions 240Loggen von Exceptions 240Angemessenheit 241Das Wichtigste in Kürze 242Kapitel 19 Immer weiter – neue Sprachmittel 243Wie beurteilen? 243Annotationen 245Funktion 246Anwendungsarten 246Risiken minimieren 248Lambda-Ausdrücke 248Klippen 248So vielleicht 250Streams 251Die Idee 252Anwendung 252Aber Vorsicht 253Fazit 254Spezialisierung 254Beschränkung 255Das Wichtigste in Kürze 256Teil IV: Wege zum Ziel 257Kapitel 20 Miteinander lernen – Code Reviews 259 Zweck 260Was nicht geht 260Das Potenzial 261Durchführung 262Erfolgsvoraussetzungen 262Vorbereitung 263Review-Rollen 265Review-Werkzeuge und Metriken 266Review-Bewertung 267Codequalität 267Review-Qualität 267Das Wichtigste in Kürze 268Kapitel 21 Aus Fehlern lernen 269Fehler macht jeder 269Fehler analysieren 270Fehlerursachen ermitteln 271Fehlerarten 272Priorisierung 272Denken Sie an … 273Erkenntnisse nutzen 275Code Reviews nutzen 275Ergebnisse dokumentieren 275Wiederholen: Erkenntnisse erneut erörtern 275Das Wichtigste in Kürze 276Kapitel 22 Es gibt immer was zu tun – Refactoring 277Die Idee 277Die Praxis 278Vorbereitung 278Schritt für Schritt 280Im Großen und im Kleinen 280Ein Beispiel 281Das Wichtigste in Kürze 282Teil V: Der Top-Ten-Teil 283Kapitel 23 10 Fehler, die Sie vermeiden sollten 285Buch in Schrank stellen 285Nicht sofort anfangen 285Aufgeben 286Nicht streiten 286Schematisch anwenden 286Kompromisse verweigern 286Unrealistische Terminzusagen 287Überheblichkeit 287Denken, fertig zu sein 287Alles tierisch ernst nehmen 287Kapitel 24 (Mehr als) 10 nützliche Quellen zum Auffrischen und Vertiefen 289Clean Code – das Buch und der Blog 289Clean Code Developer 290Software Craftsmanship 290Java Code Conventions 29097 Dinge, die jeder Programmierer wissen sollte 290The Pragmatic Bookshelf 291Prinzipien der Softwaretechnik 291Refactoring 291Code Reviews 291Codeanalyse 292Verzögerungskosten 292Project Oberon 292Stichwortverzeichnis 295
Hoppa över listan