Beschreibung
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: GrundregelnCode ReviewTest Driven DesignContinuous IntegrationReibungsloses TeamworkAutomatisierte Build- und VersionskontrollsystemeEntwurfsmusterAutomatisierte UI-TestsDependency InjectionISO 25010Build ToolsUmgang 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!'
Autorenportrait
Uwe Post, Jahrgang 1968, hat ein Diplom in Physik und Astronomie und ist Chefentwickler einer Firma, die Smartphone-Spiele herstellt. Er schreibt Fachartikel in Computerzeitschriften, allerdings deutlich mehr Science-Fiction-Geschichten. Sein letzter Roman, "Walpar Tonnraffir und der Zeigefinger Gottes", gewann 2011 den Kurd-Laßwitz-Preis und den Deutschen Science-Fiction-Preis. Post lebt mit Frau und Tochter am südlichen Rand der Ruhrgebiets. Wenn er nicht gerade neue Android-Spiele oder Bücher schreibt, ist er anderweitig hyperaktiv.
Inhalt
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.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.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.1 ... Muss funktionieren! ... 76
4.2 ... Muss schön sein! ... 81
4.3 ... ISO 25010 und andere Buzzword-Sammlungen ... 101
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.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.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.1 ... Kommentare sind wie Tooltipps ... 257
8.2 ... Dokumentiert sich von allein ... 262
8.3 ... Teamwork online ... 269
9.1 ... »Es ist ein Fehler aufgetreten. Versuchen Sie es noch einmal.« ... 284
9.2 ... Festplattenweise Protokolle ... 296
9.3 ... Ungebetene Besucher ... 306
10.1 ... Was macht der da? ... 323
10.2 ... Refactoring mit Tools ... 328
10.3 ... Who sprech Svenska? ... 340
10.4 ... Endlich: Tests ... 343
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 ... 366
12.1 ... Parallel arbeiten ... 369
12.2 ... Losgelöst ... 381
12.3 ... .NET async ... 385
A ... Quizfragen ... 389
B ... Lösungen der Quizfragen ... 395