Buchtipp: Refactoring JavaScript

Refactoring ist ein Prozess, der aus schlechtem Code guten Code erzeugt. Im O‘Reilly-Verlag ist nun ein Buch erschienen, das JavaScript-spezifische Aspekte des Refactorings im Detail vorstellen möchte: Refactoring JavaScript.
Autor(en) |
Evan Burchard |
Titel |
Refactoring JavaScript |
Untertitel |
Turning Bad Code Into Good Code |
Seiten |
442 |
Preis |
33,99 Euro |
Verlag |
O‘Reilly Media |
Jahr |
2017 |
ISBN |
978-1-4919-6492-7 |
Autor Evan Burchard beginnt sein Werk mit einer Betrachtung der Rolle von Refactoring als Ganzes. Er sieht Refactoring als einen Prozess zur Verbesserung der Codequalität, der nicht unabhängig von Unit-Tests erfolgen kann. Kapitel 2 bespricht den JavaScript-Sprachstandard und die mit ihm einhergehende Fragmentierung samt Bibliotheken, Frameworks und Co. Die beiden Kapitel zeigen den Trend des Werks: Der Autor präsentiert eine Menge von lose zusammenhängenden Hinweisen und Tricks mit variablem Nützlichkeitsgehalt.
Kapitel 3 und 4 stellen sodann Unit-Testing-Frameworks und -Tools für JavaScript vor – die interessanteren Teile des Werks. Am Ende des ersten Blocks folgt ein Kapitel, das die diversen Ziele von Refactoring-Operationen beschreibt: Es gibt mehr als nur eine Art und Weise, um die Qualität von Code zu verbessern.
Schritt für Schritt
Die darauffolgenden Kapitel stellen verschiedene Aspekte von JavaScript neben den dazugehörenden Verbesserungsmöglichkeiten vor. Als Erstes wendet sich der Autor hierbei klassischen „Codierfehlern“ zu, die die Länge von Programmcode erhöhen oder seine Übersichtlichkeit negativ beeinflussen.
Als Nächstes wendet sich der Autor dem Themenkreis „Code in Funktionen, Objekten und Arrays“ zu. An dieser Stelle findet der geneigte Leser neben Informationen zur Optimierung der Übersichtlichkeit auch eine Vorstellung einiger exotischer Datenstrukturen der hohen Systemtechnik, die mitunter die Realisierung sehr kompakter neuer Codevarianten erlauben.
Nach der Besprechung von Methoden zur Steigerung der Codequalität auf Objekt- bzw Funktionslevel begibt sich der Autor eine Ebene höher: Kapitel 8 bespricht das Refactoring auf Systemebene. Amüsant ist, dass der Autor eine massive Aversion gegen Selektionen aufweist – vielleicht hat er diese Codestruktur schlichtweg nicht verstanden.
Danach folgen drei Kapitel, die sich noch stärker spezialisieren. Im neunten Kapitel dreht sich alles um Refactoring unter Nutzung der Paragidmen der objektorientierten Programmierung, während Kapitel 10 die Optimierung von asynchron abgearbeitetem Code bespricht. Vor dem als Zusammenfassung dienenden zwölften Kapitel schwingt sich der Autor nochmals in luftige Höhen: Ob jedes System von funktionaler Programmierung profitieren kann, darf bezweifelt werden.
Ich habe recht
Evan Burchard kann es sich nicht verkneifen, schon in der Einleitung eine Tirade über die Verwendung von Geschlechterpronomen abzulassen. Darüber hinaus ist das gesamte Werk von Rechthabereien durchzogen, denen teilweise jede praktische Relevanz fehlt. Zudem sind die Codebeispiele viel zu lang, der didaktische Aufbau wirkt stellenweise wirr.
Fazit
Es steht außer Frage, dass JavaScript ob der sehr offenen Sprachdeklaration alles andere als kompakt ist. Das vorliegende Buch scheitert insofern an seiner Aufgabe, als es den Leser mit Informationen erschlägt. Wer die nötige Zeit investiert, lernt sicher das eine oder andere. Mit weniger chaotischem Aufbau und weniger Rechthaberei wäre das Werk allerdings besser ausgefallen.
Was ist in der Besprechung mit Selektionen gemeint? Ich habe nicht alles bis ins Details gelesen, aber die Kritik erscheint mir ob der Intensität, mit der die Kritik selber “Ich habe recht“ schreit, etwas überzogen, für ein Buch, dass einen umfassenden Einblick und Überblick über die verschiedenen Ebenen der Entwicklung von JavaScript-Anwendungen gibt. Dass erfolgt in meiner Wahrnehmung zumeist mit einer eigenen Überzeugung, aber meiner Meinung nach nicht ganz so überheblich, wie die Kritik es vermuten lässt. Trotz 20 Jahren Erfahrung mit JavaScript war es auch mir möglich, noch das eine oder andere mitzunehmen und dieses Buch habe ich durchaus… Read more »