Five Lines of Code von Christian Clausen - Taschenbuch

Five Lines of Code
Clean Code durch gezieltes Refactoring - Beispiele in TypScript und Lösungen aus realen Projekten, für alle OOP-Sprachen und Codebasen
ISBN/EAN:  9783836292245
Sprache: Deutsch
Umfang: 388 S.
Einband: kartoniertes Buch
Refactoring ist die Kunst, bestehenden Code so zu verbessern, dass der Wert von Software langfristig erhalten bleibt. Das Ergebnis des Vorgangs ist als Clean Code bekannt - aber wie kommen Sie dahin? Christian Clausen legt hier eine ganz neuartige Schule des Refactorings vor, die Sie Schritt für Schritt anleitet. Das Vorgehen eignet sich für alle OOP-Sprachen. Die gut lesbaren Beispiele in TypeScript sind in einem Stil gehalten, der insbesondere Java- und C#- Entwickler*innen vertraut sein dürfte. Ein zweispaltiges Vorher-Nachher-Layout mit zeilengenauen Codekommentaren macht jeden Arbeitsschritt hervorragend nachvollziehbar. So gelingt Ihr Refactoring sicher! Aus dem Inhalt: Anzeichen für Verbesserungsbedarf im CodeCode in sicheren Schritten verbessern - auch, wenn Sie ihn nicht verstehenOptimierungen und Wiederverwendbarkeit sinnvoll abwägenGute Compiler-PraxisViele Patterns und Methoden für das konkrete VorgehenWie man Code schreibt, der ohne Kommentare auskommtBest Practices aus realen Projekten
       1.1 ... Was ist Refactoring? ... 28        1.2 ... Fähigkeiten: Was sollte ich refactorn? ... 29        1.3 ... Kultur: Wann sollte ich refactorn? ... 31        1.4 ... Werkzeuge: Wie sollte ich (sicher) refactorn? ... 33        1.5 ... Werkzeuge für den Anfang ... 34        1.6 ... Das durchgehende Beispiel: ein 2D-Rätselspiel ... 36        1.7 ... Ein Wort zu Software aus der echten Welt ... 38        1.8 ... Zusammenfassung ... 39        2.1 ... Lesbarkeit und Wartbarkeit verbessern ... 41        2.2 ... Geschwindigkeit, Flexibilität und Stabilität gewinnen ... 45        2.3 ... Refactoring und die tägliche Arbeit ... 47        2.4 ... Die Domäne einer Software definieren ... 48        2.5 ... Zusammenfassung ... 49        3.1 ... Unsere erste Regel: Warum fünf Zeilen? ... 54        3.2 ... Ein Refactoring, um Funktionen aufzubrechen ... 57        3.3 ... Funktionen teilen, um Abstraktionsebenen zu trennen ... 66        3.4 ... Eigenschaften eines guten Funktionsnamens ... 69        3.5 ... Funktionen aufbrechen, die zu viel tun ... 72        3.6 ... Zusammenfassung ... 76        4.1 ... Refactoring einer einfachen if-Anweisung ... 77        4.2 ... Refactoring einer großen »if«-Anweisung ... 98        4.3 ... Mit doppeltem Code umgehen ... 114        4.4 ... Refactoring von zwei komplexen »if«-Anweisungen ... 118        4.5 ... Toten Code entfernen ... 122        4.6 ... Zusammenfassung ... 124        5.1 ... Ähnliche Klassen zusammenführen ... 128        5.2 ... Einfache Bedingungen zusammenführen ... 145        5.3 ... Komplexe Bedingungen zusammenführen ... 150        5.4 ... Code in verschiedenen Klassen zusammenführen ... 156        5.5 ... Ähnliche Funktionen zusammenführen ... 178        5.6 ... Ähnlichen Code zusammenführen ... 182        5.7 ... Zusammenfassung ... 187        6.1 ... Kapselung ohne Getter ... 189        6.2 ... Einfache Daten kapseln ... 201        6.3 ... Komplexe Daten kapseln ... 214        6.4 ... Invariante Reihenfolgen entfernen ... 222        6.5 ... Ein anderes Vorgehen, um Enums zu löschen ... 226        6.6 ... Zusammenfassung ... 232        7.1 ... Den Compiler kennenlernen ... 236        7.2 ... Den Compiler benutzen ... 245        7.3 ... Vertraue dem Compiler ... 255        7.4 ... Vertraue nur dem Compiler ... 258        7.5 ... Zusammenfassung ... 259        8.1 ... Veraltete Kommentare löschen ... 263        8.2 ... Auskommentierten Code löschen ... 263        8.3 ... Überflüssige Kommentare löschen ... 264        8.4 ... Kommentare in Methodennamen umsetzen ... 265        8.5 ... Kommentare behalten, die Invarianten dokumentieren ... 266        8.6 ... Zusammenfassung ... 267        9.1 ... Code löschen: das nächste Abenteuer ... 270        9.2 ... Code löschen, um anfallende Komplexitätzu reduzieren ... 271        9.3 ... Code nach Vertrautheit kategorisieren ... 274        9.4 ... Code in einem Legacy-System löschen ... 275        9.5 ... Code aus einem eingefrorenen Projekt löschen ... 278        9.6 ... Branches aus der Versionskontrolle löschen ... 280        9.7 ... Codedokumentation löschen ... 282        9.8 ... Testcode löschen ... 284        9.9 ... Konfigurationscode löschen ... 286        9.10 ... Code löschen, um Bibliotheken loszuwerden ... 288        9.11 ... Code aus funktionierenden Features entfernen ... 291        9.12 ... Zusammenfassung ... 292        10.1 ... Unsicherheit akzeptieren: In die Gefahr eintreten ... 294        10.2 ... Prototypen: gegen die Angst, das Falsche zu entwickeln ... 294        10.3 ... Verhältnismäßige Arbeit: gegen die Angst vor Verschwendung und Risiko ... 296        10.4 ... Schrittweise Verbesserung: gegen die Angst vor Imperfektion ... 297        10.5 ... Wie Copy & Paste unsere Geschwindigkeit beeinflusst ... 298        10.6 ... Verändern durch Hinzufügen: geplante Erweiterbarkeit ... 299        10.7 ... Verändern durch Hinzufügen erlaubt Abwärtskompatibilität ... 300        10.8 ... Verändern durch Hinzufügen mit Featureschaltern ... 302        10.9 ... Verändern durch Hinzufügen mit Verzweigung durch Abstraktion ... 306        10.10 ... Zusammenfassung ... 309        11.1 ... Strukturen einteilen nach Wirkungsbereich und Herkunft ... 311        11.2 ... Drei Arten, wie Code Verhalten spiegelt ... 313        11.3 ... Code hinzufügen, um Struktur zu betonen ... 321        11.4 ... Beobachten statt vorhersagen -- empirische Techniken einsetzen ... 322        11.5 ... Sicherheit gewinnen, ohne den Code zu verstehen ... 323        11.6 ... Ungenutzte Strukturen finden ... 324        11.7 ... Zusammenfassung ... 333        12.1 ... Nach Einfachheit streben ... 336        12.2 ... Verallgemeinern -- wann und wie ... 338        12.3 ... Optimieren -- wann und wie ... 340        12.4 ... Zusammenfassung ... 352        13.1 ... Auf Prozessprobleme mit schlechtem Code aufmerksam machen ... 353        13.2 ... Trennung in sauberen und problematischen Code ... 355        13.3 ... Ansätze, schlechten Code zu definieren ... 356        13.4 ... Regeln für sicheren Vandalismus ... 359        13.5 ... Methoden für sicheren Vandalismus ... 359        13.6 ... Zusammenfassung ... 369        14.1 ... Ein Rückblick auf die Reise in diesem Buch ... 371        14.2 ... Die Philosophie dahinter ... 372        14.3 ... Wie mache ich weiter? ... 377        14.4 ... Zusammenfassung ... 378        A.1 ... Node.js ... 381        A.2 ... TypeScript ... 381        A.3 ... Visual Studio Code ... 381        A.4 ... Git ... 382        A.5 ... Das TypeScript-Projekt einrichten ... 382        A.6 ... Das TypeScript-Projekt bauen ... 382        A.7 ... Wie du den Level änderst ... 383

Das könnte Sie auch interessieren