
Technischer Projektleiter
Erst kürzlich haben wir im ersten Teil einige
Dieses Buch lehrt dich die Konzepte der testgetriebenen Entwicklung (TDD) in Java, damit du sauberen, wartbaren und robusten Code erstellen kannst. Entdecke die beliebtesten TDD-Tools und -Frameworks und werde versierter in der Erstellung von Anwendungen. Entwickle Anwendungen mit besserem Code-Design, weniger Fehlern und höherer Testabdeckung, was es dir ermöglicht, sie schneller auf den Markt zu bringen. Testgetriebene Entwicklung (TDD) ist ein Entwicklungsansatz, der auf dem Test-First-Verfahren basiert. Dabei wird der Test vor dem Schreiben des notwendigen Codes erstellt und anschließend der Code umgeschrieben und optimiert. Der Vorteil der Durchführung von TDD in Kombination mit Java, einer der beliebtesten Programmiersprachen, besteht darin, die Produktivität der Programmierer, die Wartbarkeit und Leistung des Codes zu verbessern und ein tieferes Verständnis der Sprache sowie deren effektive Nutzung zu entwickeln. Beginnend mit den Grundlagen von TDD und dem Verständnis, warum dessen Anwendung vorteilhaft ist, führt dich dieses Buch von den ersten Schritten des TDD in Java, bis du ausreichend sicher bist, um diese Praxis in deinem täglichen Workflow zu beherrschen. Das Buch leitet dich zunächst durch das Einrichten der benötigten Tools, Frameworks und Umgebungen und führt dich direkt in praktische Übungen ein, um schrittweise einen Prozess, ein Tool oder ein Framework zu meistern. Du wirst die Prozedur Red-Green-Refactor kennenlernen, das Fundament aller anderen TDD-Praktiken, sowie das Schreiben von Unit-Tests und deren Nutzung als ausführbare Dokumentation. Dieses Buch zeigt dir auch, wie du einfachen und leicht wartbaren Code entwirfst, mit Mocks arbeitest, verhaltensgesteuerte Entwicklung anwendest, veralteten Code refaktorierst und mit Feature-Toggles teilweise fertige Funktionen in die Produktion bringst. Am Ende dieses Buches wirst du ein tiefes Verständnis der TDD-Methodik haben und sicher sein, dass du sie tatsächlich bei der Programmierung von Java Anwendungen anwenden kannst. Wenn du bereits ein erfahrener Java-Entwickler bist und Methoden zur effizienteren Programmierung von Systemen und Anwendungen implementieren möchtest, ist das Buch „Test-Driven Java Development“ (2. Auflage) genau das Richtige für dich.
Bei der testgetriebenen Entwicklung (TDD) schreibst du zunächst einen ausführbaren Test, der definiert, was dein Anwendungscode leisten muss. Erst danach schreibst du den eigentlichen Code und verbesserst mithilfe des erfolgreichen Tests das Design deines Codes. Beim akzeptanztestgetriebenen Entwicklung (ATDD) verwendest du dieselbe Technik, um Produktfunktionen zu implementieren, wobei du von iterativer Entwicklung, schnellen Feedbackzyklen und besser definierten Anforderungen profitierst. TDD, seine unterstützenden Tools und Techniken führen zu einer schnelleren Entwicklung und besserer Software. Das Buch „Test Driven“ vereint praktische TDD-Techniken, die aus langjährigen Erfahrungen der Community gewonnen wurden. In der Java- und Java EE-Umgebung untersucht es TDD- und ATDD-Techniken sowie Denkweisen anhand von Beispielen. Sorgfältig ausgewählte Beispiele werden verwendet, um TDD-Tools und Designmuster zu veranschaulichen, nicht abstrakt, sondern konkret im Kontext der Technologien, mit denen wir bei der Arbeit konfrontiert sind. Es ist nicht nur für TDD-Anfänger zugänglich, sondern auch für erfahrene TDD-Praktiker und bietet sowohl effektive als auch weniger bekannte Techniken. Der gesamte Code aus dem Buch steht ebenfalls zur Verfügung.
Die sechste Ausgabe von „Spring in Action“ ist ein umfassender Leitfaden zu den grundlegenden Funktionen des Spring-Frameworks, die alle in dem großartigen und klaren Stil von Craig Walls erklärt werden. Schritt für Schritt erstellst du eine vollständige webbasierte Anwendung, die von einer Datenbank unterstützt wird, und erlernst so allmählich den Umgang mit Spring. Diese neue Ausgabe umfasst die Grundlagen von Spring sowie neue Funktionen wie reaktive Streams, Kubernetes-Integration und RSocket. Ob du ein Neuling in Spring oder ein erfahrener Entwickler bist, dieses klassische Bestseller-Buch wird zu deiner Bibel werden. Warum ist Spring ein Muss für Java-Entwickler? Dieses leistungsstarke Framework eliminiert viele langwierige Konfigurationen und wiederkehrende Codierungsaufgaben, was die Erstellung von Unternehmenssoftware in Produktionsqualität erleichtert. Die neuesten Updates bieten erhebliche Produktivitätssteigerungen für Microservices, reaktive Entwicklung und andere moderne Anwendungsdesigns. Kein Wunder, dass mehr als die Hälfte aller Java-Entwickler Spring verwendet. Im Laufe der Jahre hat „Spring in Action“ Zehntausenden von Entwicklern geholfen, ihre Produktivität mithilfe der Spring-Technologie erheblich zu steigern. Diese neue Ausgabe des klassischen Bestsellers deckt alle neuen Funktionen von Spring 5.3 und Spring Boot 2.4 ab, einschließlich Beispielen für reaktives Programmieren, Spring Security für REST-Dienste und die Einführung von Reaktivität in deine Datenbanken. Du findest auch die neuesten Best Practices für Spring, einschließlich Spring Boot für die Einrichtung und Konfiguration von Anwendungen.
Auch schlechter Code kann funktionieren. Doch wenn Code nicht sauber ist, kann er eine Entwicklungsorganisation in die Knie zwingen. Jedes Jahr gehen unzählige Stunden und erhebliche Ressourcen wegen schlecht geschriebenem Code verloren. Aber das muss nicht so sein. Der bekannte Softwareexperte Robert C. Martin stellt mit „Clean Code: A Handbook of Agile Software Craftsmanship“ eine revolutionäre Methode vor. Martin, der zehntausenden Programmierern agile Prinzipien aus praktischer Sicht nähergebracht hat, hat sich mit seinen Kollegen von Object Mentor zusammengeschlossen, um ihre besten agilen Methoden des kontinuierlichen Refactorings in einem Buch zusammenzufassen. Dieses Buch soll dem Leser die Werte eines Softwarehandwerkers vermitteln und ihn zu einem besseren Programmierer machen – aber nur, wenn er bereit ist, daran zu arbeiten. Welche Art von Arbeit wirst du leisten? Du wirst Code lesen – viel Code. Und du wirst herausgefordert, darüber nachzudenken, was an diesem Code richtig und was falsch ist. Noch wichtiger ist, dass du aufgefordert wirst, deine beruflichen Werte und dein Engagement für deinen Beruf zu überdenken. „Clean Code“ ist in drei Teile gegliedert. Der erste Teil beschreibt die Prinzipien, Muster und Praktiken des Schreibens von sauberem Code. Der zweite Teil besteht aus mehreren Fallstudien mit zunehmender Komplexität. Jede Fallstudie ist eine Übung im Refactoring – der Umwandlung einer Codebasis mit Problemen in eine, die richtig und effizient ist. Der dritte Teil ist eine Sammlung von Erkenntnissen: ein Kapitel mit einer Liste von Heuristiken und Problemstellen im Code, die während der Fallstudien gesammelt wurden. Das Ergebnis ist eine Wissensbasis, die beschreibt, wie wir denken, wenn wir Code schreiben, lesen und reinigen. Dieses Buch ist unverzichtbar für jeden Entwickler, Softwareingenieur, Projektmanager, Teamleiter oder Systemanalytiker, der an der Erstellung besseren Codes interessiert ist.
Seit mehr als zwanzig Jahren verlassen sich erfahrene Programmierer weltweit auf Refactoring von Martin Fowler, um das Design bestehenden Codes zu verbessern, die Wartbarkeit von Software zu erhöhen und das Verständnis vorhandenen Codes zu erleichtern. Diese lang erwartete neue Ausgabe wurde vollständig aktualisiert, um grundlegende Veränderungen in der Programmierlandschaft zu berücksichtigen. Refactoring, zweite Ausgabe enthält einen aktualisierten Katalog von Refactoring-Techniken und umfasst JavaScript-Codebeispiele sowie neue funktionale Beispiele, die Refactoring ohne Klassen demonstrieren. Wie das Original erklärt auch diese Ausgabe, was Refactoring ist, warum du refaktorisieren solltest, wie du Code erkennst, der Refactoring benötigt, und wie du es erfolgreich umsetzt, unabhängig davon, welche Sprache du verwendest. „Jeder Narr kann Code schreiben, den ein Computer versteht. Gute Programmierer schreiben Code, den Menschen verstehen.“ -M. Fowler (1999)
Stell dir vor, du schreibst Java-Code, der extrem ausdrucksstark, prägnant, leicht lesbar und wartbar ist und dabei die Komplexität reduziert. Mit den Möglichkeiten der funktionalen Programmierung in Java ist das keine Fantasie. Dieses Buch führt dich vom vertrauten imperativen Stil durch die praktischen Aspekte der funktionalen Programmierung anhand zahlreicher Beispiele. Wende die Techniken an, die du Schritt für Schritt lernst, um sehr komplexen imperativen Code in eleganten und leicht verständlichen funktionalen Code zu verwandeln. Diese Ausgabe, aktualisiert auf die neueste Java Version, enthält vier neue Kapitel zu Fehlerbehandlung, Refactoring auf den funktionalen Stil, Datenumwandlung und funktionalen Programmieridiomen. Kämpfe nicht gegen die Einschränkungen des imperativen Stils, sondern lerne, objektorientierte Programmierung mit funktionalem Stil zu kombinieren, um die Komplexität des Codes zu reduzieren. Nutze die Funktionen der funktionalen Programmierung in Java, um Anwendungen zu erstellen, bei denen der Code seine Absichten klar offenbart und dein Team den Code schnell verstehen und an sich ändernde Geschäftsanforderungen anpassen kann. Entfessle die Kraft von Java Lambda Ausdrücken und Streams API, um oft geschriebenen Spaghetti Code in äußerst prägnanten, ausdrucksstarken, eleganten und wartbaren Code zu verwandeln. Sieh dir an, wie Streams die anspruchsvolle Aufgabe der Parallelisierung von Code erleichtern – vergleichbar mit dem Hochschalten im Auto, wenn mehr Geschwindigkeit erforderlich ist. Wende Designmuster an, die auf Lambda-Ausdrücken basieren, verwalte die Ressourcenzuweisung sicher, lerne, Daten in verschiedene Formen zu transformieren – und das alles unter Berücksichtigung der Unveränderlichkeit und Bereitstellung von Thread-Sicherheit, um verzögerte (lazy) Auswertung für Effizienz und parallele Ausführung für Leistung zu nutzen. Überwinde die Grundlagen und erkunde Idiome zum Schreiben funktionaler Programme. Lerne, funktional zu denken, indem du alten Code in den funktionalen Stil überführst. Und falls dein Code auf Probleme stößt, lerne, Fehler auf funktionale Weise zu behandeln. Versinke nicht in der Theorie, sondern lerne praktische Techniken der funktionalen Programmierung, um erstklassigen Code in Java zu erstellen.
Threads sind ein grundlegender Bestandteil der Java Plattform. Da Mehrkernprozessoren zur Norm geworden sind, wird die effiziente Nutzung von parallel laufendem Code unerlässlich für die Entwicklung leistungsstarker Anwendungen. Java SE 5 und 6 waren ein großer Fortschritt in der Entwicklung von Parallelanwendungen, mit Verbesserungen der Java Virtual Machine zur Unterstützung leistungsstarker, hoch skalierbarer Parallelklassen und einer umfangreichen Sammlung neuer Bausteine für die Parallelität. In „Java Concurrency in Practice“ erläutern die Schöpfer dieser neuen Funktionen nicht nur, wie sie funktionieren und wie man sie verwendet, sondern auch die Motivation und die Designmuster dahinter. Die Entwicklung, das Testen und das Debuggen von Programmen mit mehreren Threads kann jedoch immer noch sehr anspruchsvoll sein. Es ist zu einfach, nebenläufige Programme zu erstellen, die zwar funktionieren, aber dann versagen, wenn es darauf ankommt: in der Produktion mit hoher Belastung. „Java Concurrency in Practice“ rüstet die Leser mit theoretischen Grundlagen und konkreten Techniken aus, um zuverlässige, skalierbare und wartbare Nebenläufige Anwendungen zu entwickeln. Anstatt einfach nur ein Inventar von nebenläufigen APIs und Mechanismen zu bieten, stellt es Entwurfsregeln, Muster und mentale Modelle zur Verfügung, die es einfach machen, nebenläufige Programme zu erstellen, die korrekt und performant sind. Wenn du Lieblingsbücher zur Entwicklung hast, die deine Karriere als Java Programmierer stark beeinflusst haben, und du enttäuscht bist, dass sie nicht in unserer Serie erschienen sind, kannst du uns gerne darüber schreiben. Übersetzt mit DeepL.com (kostenlose Version) Wenn du auf Jobsuche bist, schau dir unsere Mirarbeiterbenefits an und reagiere auf die Stellenangebote.