Guter Code ist essenziell für gute Software. Und die Schwierigkeiten sind vielfältig: Code glänzt mit schlechter Testbarkeit oder die Wartung lässt das Budget komplett aus dem Rahmen laufen. Uwe Post packt die Praxisprobleme mit zeitlosen Best Practices und aktuellen Tipps aus seinem Erfahrungsschatz an. Punkten Sie mit besserem Code: performant, verständlich, wartbar. Uwe Post hat bereits einige Bugs in seinem Trophäenschrank. Mit einer ordentlichen Prise Humor und viel Projekterfahrung zeigt er, worauf es bei erfolgreichen Software-Projekten wirklich ankommt. Seine Insider-Tipps und Anekdoten aus der Softwareentwicklung helfen Ihnen, stetig an der Qualität Ihres Codes zu arbeiten. Sie werden sehen: Clean Code geht jeden an, der besser programmieren möchte, ob in Java, C++ oder Python.
Aus dem Inhalt:
- Grundregeln
- Code Review
- Test Driven Design
- Continuous Integration
- Reibungsloses Teamwork
- Automatisierte Build- und Versionskontrollsysteme
- Entwurfsmuster
- Automatisierte UI-Tests
- Dependency Injection
- ISO 25010
- Build Tools
- Umgang mit Legacy Code
Die Fachpresse zur Vorauflage:
dotnetpro: »Dem Autor gelingt es, den Leser durch seinen lockeren Schreibstil bei Laune zu halten und ihm zahlreiche Tipps und Best Practices mitzugeben. «
t3n: »Nicht nur fachlich hilfreich, sondern auch noch richtig unterhaltsam zu lesen! «
Inhaltsverzeichnis
1. Verhindern Sie den Weltuntergang! . . . 13 1. 1 . . . Vorwort . . . 13 1. 2 . . . Schöne neue Welt . . . 14 1. 3 . . . Was läuft falsch? . . . 16 1. 4 . . . Weltuntergang verhindern - aber wie? . . . 17 2. Konventionen . . . 21 2. 1 . . . Vereinbarungen im Team . . . 21 2. 2 . . . Wenn die Variable »a« sagt (und sonst nichts) . . . 26 2. 3 . . . Code-Fokus . . . 34 2. 4 . . . Checkliste . . . 36 3. Willkommen im Team! . . . 39 3. 1 . . . Check this out: Subversion . . . 40 3. 2 . . . Teamwork integriert: Git . . . 51 3. 3 . . . »Guckstu! « . . . 58 3. 4 . . . Doppelt hält besser: Pair Programming . . . 63 3. 5 . . . Wer macht wann was? . . . 66 4. Gut, besser, 91, 2 %: Software-Qualität messen . . . 75 4. 1 . . . Muss funktionieren! . . . 76 4. 2 . . . Muss schön sein! . . . 81 4. 3 . . . ISO 25010 und andere Buzzword-Sammlungen . . . 101 5. Jeder ist Architekt . . . 107 5. 1 . . . Normalisierte Daten . . . 107 5. 2 . . . Alles ist ein Objekt, aber welches? . . . 117 5. 3 . . . Entwurfsmuster . . . 120 5. 4 . . . Was ist eigentlich ein »Item«? . . . 141 5. 5 . . . Effiziente Software . . . 151 5. 6 . . . Do- und Don't-Merksatz-Akronyme . . . 158 5. 7 . . . Neue Räder extra teuer! . . . 163 5. 8 . . . Meins! (Wirklich?) . . . 168 6. Erst mal testen . . . 173 6. 1 . . . Gute und schlechte Unit-Tests . . . 174 6. 2 . . . Testbar und nicht so gut testbar . . . 187 6. 3 . . . Umgekehrt wird ein Schuh draus . . . 194 6. 4 . . . Alles einzeln testen . . . 199 6. 5 . . . Millionen Mausklicks . . . 204 7. Continuous Integration . . . 211 7. 1 . . . Digitaler Bauunternehmer . . . 211 7. 2 . . . Java-Builds mit Maven . . . 213 7. 3 . . . Gradle en vogue . . . 227 7. 4 . . . Jenkins, stets zu Ihren Diensten! . . . 234 7. 5 . . . Continuous Integration in der Cloud . . . 239 7. 6 . . . Nicht nur eine Frage des Stils . . . 244 7. 7 . . . NuGet für . NET und MS Azure . . . 248 8. Dokumentation, Kommentare & Tools . . . 257 8. 1 . . . Kommentare sind wie Tooltipps . . . 257 8. 2 . . . Dokumentiert sich von allein . . . 262 8. 3 . . . Teamwork online . . . 269 9. Betriebssicherheit . . . 283 9. 1 . . . »Es ist ein Fehler aufgetreten. Versuchen Sie es noch einmal. « . . . 284 9. 2 . . . Festplattenweise Protokolle . . . 296 9. 3 . . . Ungebetene Besucher . . . 30610. Schrottcode pimpen . . . 323 10. 1 . . . Was macht der da? . . . 323 10. 2 . . . Refactoring mit Tools . . . 328 10. 3 . . . Who sprech Svenska? . . . 340 10. 4 . . . Endlich: Tests . . . 34311. Trollfütterung . . . 349 11. 1 . . . Umsteiger und Ahnungslose im kalten Wasser . . . 349 11. 2 . . . Früher war alles besser, auch die Betonköpfe . . . 352 11. 3 . . . Das Patchwork-Team . . . 354 11. 4 . . . Billig im Osten . . . 357 11. 5 . . . Der Hase der Produktmanagerin . . . 361 11. 6 . . . Arbeiten wie die Profis . . . 364 11. 7 . . . Leuchtendes Beispiel . . . 36612. Parallelwelten . . . 369 12. 1 . . . Parallel arbeiten . . . 369 12. 2 . . . Losgelöst . . . 381 12. 3 . . . . NET async . . . 385 Anhang . . . 389 A . . . Quizfragen . . . 389 B . . . Lösungen der Quizfragen . . . 395 Index . . . 399