Hier klicken Amazon-Fashion Amazon-Fashion Amazon-Fashion Hier klicken Jetzt informieren Bestseller 2016 Cloud Drive Photos UHD TVs Learn More WAR Badaccessoires Hier klicken Mehr dazu Fire Shop Kindle AmazonMusicUnlimited Autorip WS HW16

Ihre Bewertung(Löschen)Ihre Bewertung


Derzeit tritt ein Problem beim Filtern der Rezensionen auf. Bitte versuchen Sie es später noch einmal.

am 18. Oktober 2010
... well, not seriously.

But when I look at code now I wrote only a year ago, I often feel a strong impulse to bang my head on the desk. I was trying to deliver clean code, but my programs were rambling, full of long functions and even longer classes with multiple responsibilities, smart but difficult to understand ideas, and above all, lots of comments...

What was I thinking? Well, in fact I thought I was doing a pretty good job. And I'm not saying I was a bad developer then, but this book showed me a lot of ways to do it better. It is no academic tome, but full of practical advice. And the value of the advice is clear on the first read. The authors speak from experience. They have spent decades in the software industry. They know what works in the long run, and what just won't fly.

The advice here is nothing new. In fact you'll here most of it during your education, if you're a formally trained developer. Only, nobody tells you why. This book does.

And now for the criticism. I don't have anything new to add - the dogmatism and inflexibility of the author has been criticized in other reviews, and I agree that he sometimes takes the decomposition too far. You have to credit professional developers with the ability to understand functions with two or even three lines - there is no need to break every piece of code down to the smallest atoms. But then, this book is not written for robots, but for thinking, professional, humans. You don't have to slavishly follow every bit of advice. Take your picks.

I use a lot of the techniques from this book in my daily work. I especially love and apply the "Boy Scout Rule": Leave every piece of code you touch in a better state than you found it in. I dare say, it has made me a better programmer. I'm still working on the rich and popular part, though...
0Kommentar| 24 Personen fanden diese Informationen hilfreich. War diese Rezension für Sie hilfreich?JaNeinMissbrauch melden
am 20. August 2009
Ich habe einige Kapitel gelesen und will mir noch kein abschliessendes Bild machen. Das was die anderen Rezensenten sagen, stimmt schon. Es ist wirklich ein gutes Buch über gepflegten Code. Nur an ein paar Stellen wird mir der Autor zu dogmatisch, deswegen sollte man nicht alles blind übernehmen. Am deutlichsten wurde mir das im Kapitel 3 über Funktionen.

Dort beschreibt er anhand einer unaufgeräumten Funktion wie er sie schrittweise verbessert, und gibt dabei den ersten Zwischenschritt und das finale Ergebnis preis. Dabei erstellt er im Zwischenschritt eine absolut verständliche, klare Funktion mit 11 Codezeilen und beschreibenden Funktionsaufrufen. Damit ist der Autor aber nicht zufrieden, bezeichnet die Funktion absurderweise als immer noch "too long" und legt nochmal Hand an, indem er fast jede Zeile in eine eigene Funktion packt. Der daraus resultierende Code hat fast doppelt soviele Zeilen wie der ursprüngliche Code den es zu verbessern galt! Der Autor wünscht sich, das sich der Code wie eine Geschichte lesen soll, zerstückelt ihn dabei aber derart das man meint man würde nun ein Buch lesen in dem auf jeder Seite nur ein Satz mit maximal 10 Worten steht. Ich kann seine Begeisterung für derart zerstückelten Code absolut nicht nachvollziehen, zumal die Bezeichnung der Funktionen immer abstruser wird, da nun nicht mehr nur 5-10 Funktionen sondern eher 25 nach einer sinnvollen Beschreibung verlangen. Ganz zu schweigen davon das man vom Einstiegspunkt aus nun jeden Funktionsübergang mitlesen muss, indem man die aufgerufene Funktion sucht, dort den nächsten Funktionsaufruf vorfindet, um sehr schnell nicht mehr zu wissen auf welchem "level" des callstacks man sich nun befindet. Im Kopf ist sowas nur noch schwer zu durchschauen, und Debugger-freundlich ist das auch nicht mehr.

Ergo: mir hat der Zwischenschritt mit 11 Zeilen wesentlich besser gefallen, er war auf jeden Fall auf einen Blick verständlich und nachvollziehbar. Darauf wollte ich hingewiesen haben, denn hier wird der Autor dogmatisch und schießt sich selbst ins Knie, in dem er seine Argumentationen ad absurdum führt und dennoch sehr deutlich darauf beharrt was für wunderschönen Code er daraus gezaubert hat. Dieser Dogmatismus ist es auf den ich hinweisen wollte, und wegen dem ich auch einen Stern abziehe.
44 Kommentare| 84 Personen fanden diese Informationen hilfreich. War diese Rezension für Sie hilfreich?JaNeinMissbrauch melden
am 5. September 2009
Von den begeisterten Rezensionen hier geleitet habe ich mir das Buch zugelegt und direkt gelesen. Vorneweg, der Schreibstil ist sehr angenehm, es liest sich hervorragend.

Die Punkte, die im Buch abgearbeitet werden um aufzuzeigen, was guter Code ist und ihn von schlechtem Code trennt decken sich mit meinen Erfahrungen, die Argumentationen, warum etwas schlecht ist und besser anders gemacht wird, nachvollziehbar. Bei den meisten Punkten stimme ich überein, doch was mir ziemlich sauer aufgestoßen ist:

* (Zu) Java-zentriert. Das ist an sich ja nicht so schlimm, würde man nicht bei den Argumentationen das ein oder andere mal - jedenfalls aber zu oft während des Buchs - denken, dass das Argument nur in Java Gültigkeit besitzt.
* Martin vergleicht ziemlich am Anfang des Buches die Aufbröselung langer Methoden mit der Normalisierung von Datenbanken. Offenbar hat er aber vergessen, dass sehr oft aber auch wieder Denormalisiert wird, da die weitere Auftrennung den Kontext auseinander reisst. Er hat zwar recht, dass man nach Möglichkeit alles auseinanderbricht, aber er verliert kein Wort darüber, dass man damit oft auch zu viel des Guten erreicht.
* Eine wichtige Grundregel meiner Erfahrung: Algorithmen _nicht_ auseinanderbrechen. Das schreckliche Gegenbeispiel kommt auf Seite 145, in dem Martin Knuths Primzahlencode aus Literate Programming nimmt, nach Java portiert und anschließend nach seinen Methoden refactort. Das Ergebnis ist eine reine Zumutung für das Auge und hat mit Clean Code nichts mehr zu tun. Positiv zu erwähnen ist, dass er die Ausgabe und die Erzeugung getrennt hat. Die Ausgaberoutinen sind sauber und so nachzuvollziehen, wie er es gern hat: Wie ein Stück Prosatext. Aber der Algorithmus als solcher ist nicht mehr zu erkennen. Nicht alles sollte als Prosatext beschrieben werden!
* Leider noch mal der Java Einfluss, aber wer von präzisem, klarem Code spricht, sollte keine Methodennamen verwenden, die länger als 20 Zeichen sind. Das Primzahlbeispiel macht das klar. Eine Methode mit Namen isLeastRelevantMultipleOfNextLargerPrimeFactor sollte nicht von jemandem geschrieben werden der von sich behauptet, sauberen Code zu schreiben... Code-Normalisierung ja, aber bitte nur soweit man keine Algorithmen, die irgendwo anders mathematisch beschrieben und geprüft sind, mit lächerlich anmutenden Funktionsnamen zerstört. Martins Code hat meistens eine gewisse Eleganz, aber die Eleganz in einem wohlgeformten Algorithmus scheint er nicht zu kennen, im Gegenteil, er reisst sie auseinander.
* Leider wird an keiner Stelle im Buch erwähnt, welchen Einfluss die Veränderung des Quellcodes auf die Performance der Software hat. Dass er es mit der Performance in seinem Code nicht all zu ernst nimmt zeigt ein Beispiel, bei dem er einen String zurück gibt, in dem ein Großbuchstabe einen Schalter der auf an steht anzeigt, und einen Kleinbuchstaben, wenn der Schalter aus ist. Normal würde man das über ein Bitfeld machen, und nicht wie er vorschlägt besser mit StringBuffer. Leider lässt der Java Einfluss wieder grüßen.

Ich bin etwas enttäuscht von dem Buch. Bei vielen Stellen im Buch hab ich den Kopf geschüttelt und mir die Frage gestellt, was für ein Schmarrn das ist, was er da macht, da das so einfach nicht in allen Bereichen applikabel ist. Wer viel in Java programmiert wird seine Freude an dem Buch haben und sicher oft mit dem Kopf nicken. Wer unter Clean Code nicht (nur) maximal-aufgebrochene Funktionen mit elendig langen Funktionsnamen versteht wird mit dem Buch nicht glücklich und lediglich seine Vorurteile über Javaprogrammierer bestätigt finden. So jemand schaut sich besser nach anderen Büchern um und reicht das Buch an den fanatischen Javajünger in seinem Freundeskreis weiter ;)
1717 Kommentare| 176 Personen fanden diese Informationen hilfreich. War diese Rezension für Sie hilfreich?JaNeinMissbrauch melden
am 12. August 2016
Ich möchte an dieser Stelle nur die technische Qualität des Buchs bewerten (inhaltlich kann ich dazu noch keine Angaben machen).

Ich habe das Buch in Eile gekauft und dabei die Warnungen meines Mitrezensenten nicht gelesen, dass es sich bei dieser Version um einen äußerst preiswert anmutendes Exemplar handelt.

Das Format ist tatsächlich beinahe A4, die Titelseite ist grob gerastert. Man stellt sich das am besten wie ein PDF vor, dass im Copyshop ausgedruckt und geleimt wird. Die Schrift im Buch ist zum Glück nicht hochskaliert und absolut scharf, dafür wirken die Inhalte auf den großen Seiten sehr verloren. Wenn man sich das schönreden möchte dann gibt es hier viel Platz für Anmerkungen...

Die deutsche Übersetzung ist zehn Euro teuerer, wahrscheinlich bekommt man dort ein "anständiges" Buch. Auf die Schnelle habe ich von diesem Buch keine andere Version hier gefunden, Freunde der englischen Originalversion müssen hier anscheinend mit dieser Version vorlieb nehmen (anders sieht es zum Beispiel bei "Effective Java 2nd Edition" aus: Hier gibt es die preiswerte Version und für fünf Euro mehr das "richtige" Buch).

Abgesehen vom unhandlichen Format ist der Buchrücken übrigens blank, hier darf man sich dann selbst mit einem Permanentmarker den Buchtitel draufkritzeln.
0Kommentar| 3 Personen fanden diese Informationen hilfreich. War diese Rezension für Sie hilfreich?JaNeinMissbrauch melden
am 16. Juli 2011
Uncle Bobs "Clean Code" steht auf meiner Empfehlungsliste sowohl für Programmiereinsteiger als auch für gestandene Softwareentwickler, die ihren Code optimieren wollen, seit dem Tag, an dem ich die ersten Kapitel gelesen habe. Sein Nachfolger, wenn man "The Clean Coder" so nennen will, gesellt sich nun direkt dazu.

Anders als in "Clean Code" geht Robert Martin in "The Clean Coder" nicht auf das Ergebnis der Programmierarbeit - den Code - ein, sondern widmet sich ausgiebig dem Prozess des Programmierens und dem professionellen Verhalten von Softwareentwicklern im betrieblichen Umfeld. Wer also Tipps zur Programmierung oder zur weiteren Optimierung seines Codes sucht, wird definitiv enttäuscht. Wer jedoch auf der Suche nach Lösungen oder Handlungsempfehlungen für häufige Probleme im zwischenmenschlichen Bereich der Softwareentwicklung ("Soft Skills") ist, dem sei "The Clean Coder" wärmstens empfohlen. Zwar geht Martin in eigenen Kapiteln auch (oberflächlich) auf eher technische Themen wie TDD, Code Katas und Teststrategien ein und listet im Anhang noch ein paar wichtige von ihm verwendete Werkzeuge zur Programmierung auf, aber der Großteil des Buches behandelt die effektive Kommunikation mit Kollegen (insb. Managern) und die "Programmiererehre".

Robert Martin vermittelt seine "Lessons Learned" insbesondere anhand praktischer Beispiele aus seiner eigenen Karriere. Diese teils mehrere Jahrzehnte zurückliegenden Erfahrungsberichte sind sehr unterhaltsam und zeigen, dass sich das Feld der Softwareentwicklung in den vielen Jahren doch weniger stark verändert hat, als man annehmen könnte. Vieles ist auch heute noch genauso gültig wie damals, etwa die häufigen Missverständnisse zwischen Managern und Entwicklern beim Schätzen von Projektdauern oder die Annahme, dass man mit ein paar Überstunden die Deadline schon irgendwie halten kann. Martin macht sich auf Basis der von ihm gemachten Fehler für ein professionelles Verhalten als Entwickler stark, z.B. für das Nein-Sagen zu unmöglichen Anforderungen oder die Verantwortung, sich ständig fortzubilden, und schließt daher das Buch auch mit seiner Definition des "Software Craftsmanship" ab, dessen Verfechter er ist.

Letztlich waren mir viele Forderungen in "The Clean Coder" bereits aus anderen Büchern bekannt oder könnten mit ein wenig gesundem Menschenverstand selbst aufgestellt werden, aber niemand bringt sie so gut und absolut unterhaltsam auf den Punkt wie Robert Martin. Da man die Kernaussagen des Buches auf wenigen Seiten zusammenfassen könnte und Martin an einigen Stellen sogar teilweise komplette Anekdoten wiederholt, um seine Aussagen noch einmal zu unterstreichen, gibt es von mir in der Bewertung einen Punkt Abzug. Aber durch die meiner Meinung nach gut geschriebenen Geschichten und den relativ geringen Umfang des Buches ist es insgesamt leicht und flüssig in ein paar Stunden gelesen und jedem Einsteiger in das Thema "Software Craftsmanship" daher absolut zu empfehlen.
0Kommentar| 17 Personen fanden diese Informationen hilfreich. War diese Rezension für Sie hilfreich?JaNeinMissbrauch melden
am 4. September 2016
Ich habe ehrlich gesagt mehr erwartet. Ich habe nur einen wirklich überzeugenden positiven Aspekt gefunden:
* Es werden wirklich wichtige Konzepte für die professionelle Softwareentwicklung erläutert. Gerade, wenn man neu in dem Feld ist, lernt man vieles dazu.

Negativ aufgefallen ist mir folgendes:
* Für ein Buch, welches sich Clean Code nennt, enthält es zu viele Tippfehler. Gerade weil man im Buch so oft zur Sorgfalt aufgefordert wird, sollte man erwarten, dass die Autoren (Lektoren) sich auch denselben Maßstab setzen.
* Die Kapitel waren nur mäßig aufeinander abgestimmt. Die Kapitel von anderen Autoren fallen sehr aus der Reihe und lassen das ganze zu sehr wie ein Patchwork-Buch aussehen. Die Auswahl der Themen ist besonders zum Schluss nicht nachzuvollziehen.
* Der Titel beschreibt das Buch auch nicht gut. Eigentlich sollte es Clean Code in Java oder ähnlich heißen. Denn nicht nur die Beispiele waren in Java präsentiert, es wurde auch auf viele Softwaretools speziell für Java eingegangen. Zu viel ohne es im Titel zu erwähnen.

Ich finde, das Buch sollte stark überarbeitet werden.
0Kommentar| 2 Personen fanden diese Informationen hilfreich. War diese Rezension für Sie hilfreich?JaNeinMissbrauch melden
am 12. Januar 2017
Mit Clean Code werden viele Probleme angesprochen, denen jeder Entwickler im Berufsalltag schon einmal begegnet ist, besonders, wenn man mit "legacy" zu tun hatte. Es werden sinnvolle und saubere Lösungen angeboten, die im Prinzip zwar jeder Programmierer im Hinterkopf hat, die aber nur zu oft unter dem Zeitdruck der alltäglichen Arbeit "vergessen" werden.

Dieses Buch macht es auch leichter, mit Vorgesetzten über die technischen Schulden zu sprechen, die eine "quick & dirty" Lösung mit sich bringt. Das "Quick" ist auch schnell vorbei, das "dirty" bleibt of sehr lange, meist für immer und erschwert allen die Arbeit.

Uneingeschränkt zu empfehlen!
0Kommentar|War diese Rezension für Sie hilfreich?JaNeinMissbrauch melden
am 25. März 2013
Das Buch ist wie ein Lehrgang zur Verbesserung des eigenen Programmierstils aufgebaut. Begonnen wird mit der richtigen Benennung von Variablen, über Methodennamen und das Einteilen langer, unübersichtlicher Methoden in kleinere mit klar begrenztem Aufgabenbereich, bis hin zu ganzen "sauberen" Klassen. Wobei dies natürlich nur ein kleiner Ausschnitt aller behandelter Themen ist. Zum Schluss werden dann die erarbeiteten Regeln und Grundsätze in einem Kapitel übersichtlich aufgelistet.

Mir gefällt das Buch sehr gut, da es sich wirklich im Programmierstil bemerkbar macht. Mir fällt es jetzt sehr viel leichter, Programme übersichtlich zu halten, so dass sie auf Anhieb gut verständlich, und auch ohne viel Aufwand erweiterbar sind.

"Clean Code" würde ich Personen empfehlen, die sich mit der Programmiersprache Java schon einmal beschäftigt haben, denn die Beispiele an denen gearbeitet wird, sind alle in Java verfasst. Ansonsten sind die Techniken und Grundsätze aber meiner Meinung nach auf jede objektorientierte Sprache übertragbar.

Ich habe mich für die englische Variante des Buches entschieden, da die deutsche Übersetzung in Kommentaren als teilweise fehlerhaft oder schwer verständlich bewertet wurde. Ich fand das Buch auf englisch gut verständlich.
0Kommentar| 3 Personen fanden diese Informationen hilfreich. War diese Rezension für Sie hilfreich?JaNeinMissbrauch melden
am 11. August 2016
Meine Kritik in kurz:
Ich kritisiere hier nicht den Inhalt des Buches, ich kritisiere die Qualität des Produktes.
Das gelieferte Buch kann nicht als solches bezeichnet werden. Es ist ein simples, ausgedrucktes und gebundenes PDF...

Nun etwas detaillierter:
Das Titelblatt ist pixelig, als ob die Grafikdatei zu klein für den Druck war. Der Buchrücken und Rückseite sind blank weiß.
Die Seiten im Inneren sind deutlich zu blass gedruckt und das Format des gesamten Buches scheint nicht zum Format der gedruckten Seiten zu passen. Es prangt ein riesiger weißer Rand rings um den Text einer jeden Seite. Und dafür hat man dann einen ganz schönen Brecher von Buch in der Hand... So macht es keinen Spaß, dieses "Buch" zu besitzen.
Insbesondere, da nirgendswo in der Beschreibung steht, dass man nur einen stümperhaften Nachdruck erhält, fühlte ich mich auf den Arm genommen.

Konklusion:
Für diesen Preis von knapp 30€ hatte ich ein richtiges Buch erwartet.
Eines, dass man sich als Standardwerk in seiner Domäne, nach der Lektüre in seine kleine, feine Fachbuchsammlung stellen kann. Aber ohne bedruckten Buchrücken ist das natürlich nicht besonders komfortabel...
Schade um meine Lebenszeit, aber immerhin nimmt Amazon ja seine Artikel ziemlich problemlos wieder zurück.
0Kommentar| 4 Personen fanden diese Informationen hilfreich. War diese Rezension für Sie hilfreich?JaNeinMissbrauch melden
am 25. November 2008
The "Pragmatic Programmer" gives you the philosophy for writing better code. "Clean Code" gives you the details of exactly how to do it. This is a great read for programmers who take their craft seriously and who want to write objectively better code (hey, I *do*). It is a great reference, too, for people whose job is to review and evaluate code (and who might have to explain *why* some code is good, or not).

I program since 1982, from Texas Instruments pocket calculators to J2EE Java. I have to admit my skills improved pretty slowly and I wish books like these would have been available years ago. And I wish, too, I would have had a bigger interest and insight that every craft can be improved - yes - gasp! - even my own programming style. Your code might work pretty well, but this book will challenge you to "expect more", and "do more". And, yes, it can be done.

If you're good at programming you probably will be familiar with a number of the ideas presented, and you'll find confirmation for practices that you felt were "the right thing to do". And then there will be some more tips to help you to improve your style.

The book summarizes frequent real world observations and resonates with my own experiences slogging through code messed-up beyond recognition by programmers who are just "getting the job done". Understanding, maintaining, and extending existing code should not be as painful as it way to often is. The book gives concrete, usable advice on how to do it better.

I would make both books a "must read" for programmers I hire - if they understand and like what is presented, they couldn't have a better start on better programming.
0Kommentar| 21 Personen fanden diese Informationen hilfreich. War diese Rezension für Sie hilfreich?JaNeinMissbrauch melden

Gesponserte Links

  (Was ist das?)