Suche Buch für Clean Code

KonradN

Super-Moderator
Mitarbeiter
Also da hat sich nicht so viel geändert. Daher bleibe ich bei Clean Code von Robert C Martin (2008). (und alle seine Clean .... Bücher).

Ansonsten ist das ein Thema, das man sehr gut auch per Video erschließen kann. Da gibt es eigentlich alles sehr schön mit Robert C Martin und in einem guten verständlichen Englisch. Ich habe die in YouTube mal in einer Playlist gesammelt:

Es bleibt auch noch die Frage, was Du sonst noch so im Speziellen willst. Es gibt diverse Bücher, die ich als sinnvoll erachte:
Effective Java - da gibt es dann viele Punkte, die Sinn machen und die ich auch unter dem Begriff "Clean Code" sehen würde. Die 3rd Edition ist von 2017 ...

Ansonsten ist das eine Thematik, in der sehr viel auch über reinen Erfahrungsaustausch kommt. Also starte einfach mal ein paar Threads mit entsprechenden Themen :)
 

OnDemand

Top Contributor
Das von Robert hab ich grad offen, liest sich gut. Werd ich mit bestellen.

Gibt so einige Sachen die ich wissentlich falsch mache und melde. Dazu müsste ich mir das aber eingestehen und hier so dönliche Threads machen, besser nicht das gibt nur Böses Blut 😂 zb versuche ich interfaces zu vermeiden, Weils mich mega verwirrt. Ich hab die falsch erklärt bekommen oder falsch verstanden und falsch eingesetzt. Ergo meide ich sie.

Außerdem ignoriere ich oft OOP Ansätze weil ich schneller, anders zum Ziel komme. Aber wie wir wissen folgt die Quittung früher oder später weil nix mehr zu erweitern geht. Entsprechend kommt hin und wieder zu viel businesslogik in eine Methode wo man diese noch in mehr einzelne Funktionen aufteilen könnte.

Aus einem oder mehrer Bücher hoffe ich irgendwie einen besseren Stil zu bekommen
 

Robert Zenz

Top Contributor
Dazu müsste ich mir das aber eingestehen und hier so dönliche Threads machen, besser nicht das gibt nur Böses Blut 😂 zb versuche ich interfaces zu vermeiden, Weils mich mega verwirrt. Ich hab die falsch erklärt bekommen oder falsch verstanden und falsch eingesetzt. Ergo meide ich sie.
Schnittstellen werden meiner Meinung nach in vielen Projekten auch falsch eingesetzt. Wenn du eine Klasse hast welche eine Ausgabe macht, und du machst dann eine Schnittstelle Ausgabe und daneben die Klasse AusgabeImpl, ist das schon ziemlich falsch meiner Meinung nach. Schnittstellen solltest du dort machen wo du wirklich zwei unterschiedliche Implementierungen hast, welche aber ueber die selbe Schnittstelle angesprochen werden sollen. Zum Beispiel wenn du Dateien laden willst, dann hast du FileLoader und als konkrete Implementierungen dazu FileSystemFileLoader und HttpFileLoader.

Ich bevorzuge auch eher pragmatische Ansaetze in der Hinsicht (auch wieso ich den Microservice Wahn nicht verstehe, wenn du einen Monolithen hast, diesen dann in Microservices auftrennst, hast du immer noch einen Monolithen, aber halt Arsch zum entwickeln).
 

OnDemand

Top Contributor
Ich hatte microservice. Das war der horror! Wir haben das jetzt wieder zum Monolithen geändert.

Microservices ist wirklich nur was für Grosse Firmen mit ausreichend Kapazitäten.

Was mich noch interessiert wäre wie man Module einbindet. Aktuell habe ich einen Ordner com.domain.module

Darin verschiedene Unterordner mit den Modulen und deren Funktionen.
Ob jemand ein Modul gebucht hat; mache ich über einen Eintrag in der Datenbank. Gibt aber bestimmt noch elegantere Lösungen über jar einbinden etc.
Aber erstmal möchte Ich meinen Code „vorzeigbar“ bekommen
 

KonradN

Super-Moderator
Mitarbeiter
Außerdem ignoriere ich oft OOP Ansätze weil ich schneller, anders zum Ziel komme.
Also OOP Ansätze sind oft auch schlicht überholt. Das merkt man schon an der Regel : Favor Composition over Inheritance.

Das ist also nicht unbedingt ein Zeichen, dass etwas falsch ist.

Interfaces werden leicht polarisiert: Es gibt Ansätze, da muss alles ein Interface haben. Das war vor UML ... da wurden wir mit der Booch Method gequält. Ja, war nichts kompliziertes und man hat die Regeln angewendet und dann hatte alles ein Interface und ein Controller und wir hatten damals ein einfaches Faxgerät zu modellieren und das war schon heftig. Das war aber auch damals dann Stand der Entwicklung bei großen Projekten: Dieses: "Archtikten bauen alles in Rational Rose auf mit UML und co und dann wird der Code generiert." Und dann kommen die "dummen Programmierer" und füllen Methoden mit Leben. Das Ergebnis ist grausig und triggert bei guten Entwicklern massiv den Fluchtinstinkt.

Interfaces sind eigentlich nicht kompliziert, wenn man diese aus dem praktischen Nutzen heraus verwendet. Das Interface wird von den Verbrauchern definiert. Wenn Du etwas baust, dann baust Du es so, wie Du es bauen willst. Dann baust Du ein Auto. Das ist in sich zweckmäßig. Und das braucht kein Interface. Deine Klasse ist Deine Klasse! Jedes Interface ist Quatsch an der Stelle!

Nun kommt aber jemand und will diese Klasse nutzen. Dann wird ein Interface sinnvoll. Denn ich will nicht genau Deine Klasse. Ich will etwas, womit genau das machen kann, was ich will. An den Haaren herbeigezogenes Beispiel: Ich will da etwas, dem ich einen Text setzen kann. Das kann man auch bei Deiner Klasse. Das kann ich aber auch mit vielen anderen Klassen. Aber hier macht es dann Sinn: Ich habe ein Interface und das nutze ich dann. Mir kann es egal sein, was es konkret ist. Damit ist auch der Nutzen deutlich: Der Verbrauche kann mit allem arbeiten. Deine Klasse aber auch jede andere Klasse, die eben dann dieses Interface hat.

Ohne einen Verbraucher macht es ansonsten nur SInn, wenn ich mehrere Implementationen habe. Ich habe halt eine Linkedlist, ArrayList, ... -> Da kann man dann abstahieren zu List.

Aber damit sind wir schon weit weg vom eigentlichen Thema. Aber das mit den Interfaces muss also bei Dir gar nicht mal so falsch sein.
 

OnDemand

Top Contributor
Danke, sehr spannender Text! Fluchtinstinkt getriggert ist gut 😂

Ich hab IF nur als repositories. Wenn ich eine Klasse irgendwo wiederverwenden will, dann will auch die exakte Implementierung so haben und die Methoden so nutzen wie sie bereits sind. Mit nem Interface müsste ich ja die Methode erstmal mit Logik füllen, dafür sehe ich wirklich keine nutzen in meinen Fällen.

Mit Verbraucher meinst du zb einen anderen Entwickler, der mit der Klasse arbeiten will?
 

mihe7

Top Contributor
Microservices ist wirklich nur was für Grosse Firmen mit ausreichend Kapazitäten.
Der Sinn von Microservices besteht unter anderem darin, die Unternehmensstruktur abzubilden (das UI-Team hat eine andere Pace als das Backend-Team usw.), insofern ist da freilich was dran. Andererseits würde ich die Aussage nicht pauschal unterschreiben, wobei sich Microservices für meine Begriffe automatisch/"natürlich" ergeben müssen.

Wir haben z. B. auch eine überwiegend monolithische Anwendung, es gibt aber Dinge, die sich hervorragend als Microservice realisieren ließen und das in ein paar Fällen auch gemacht wurde - ohne darüber nachzudenken, ob das jetzt ein "Microservice" ist (streng genommen wussten wir damals nicht mal, dass es sowas wie Microservices gibt :)). Vielmehr war es schlicht der beste Weg, den Spaß in eine eigene "Anwendung" auszulagern, weil man sonst unkritische Read-Only-Daten bei jeder Installation mitschleifen muss.

Ein anderes Beispiel wäre, wo man für viele Installationen eine zentrale Stelle benötigt, da geht es gar nicht anders.

Das Problem entsteht meines Erachtens, wenn man hergeht und sich die "Microservice-Architektur" als Ziel setzt. Wir machen das jetzt, weil... es jeder macht o.ä. Und je mehr, desto besser. Ich möchte kein System betreiben müssen, das aus 100 Microservices besteht, die womöglich noch alle untereinander kommunizieren.

Ich schweife ab... :)
 

OnDemand

Top Contributor
Ich möchte kein System betreiben müssen, das aus 100 Microservices besteht, die womöglich noch alle untereinander kommunizieren.
Ich hatte vielleicht 25 kleine Services. Die waren viel zu detailliert aufgeteilt. Aber das war schon echt zum kotzen je größer die Anwendungen wurden.

Aber zurück zum clean Code, vielleicht hast du da auch was zu zu sagen. Kennst du Lektüre die man gelesen haben muss?
 

KonradN

Super-Moderator
Mitarbeiter
Mit Verbraucher meinst du zb einen anderen Entwickler, der mit der Klasse arbeiten will?
Generell Verbraucher. Wobei eigene Verbraucher kann man sich überlegen, ob es notwendig ist.

Gründe für ein Interface können sein:
  • Es wird nur ein Teil der Klasse benötigt
  • Es gibt schon Gedanken, da die Implementation zu wechseln.

Aber hier auch aufpassen: Es gibt ja auch ganz andere Verbindungsmöglichkeiten. Ich kann ja auch mit funktionalen Interfaces arbeiten. Meine Klasse, die einen Text setzen kann, braucht so ein Interface ja gar nicht. Wenn es aus der anderen Klasse benötigt wird, dann übergebe ich nur eine Methodenreferenz oder Lambda Ausdruck. Daher ist das Thema Interfaces auch weniger aus Sicht der Vererbung zu sehen sondern mehr als: Ich sehe zu, dass ich für notwendige Verbindungen funktionale Interfaces nutze.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Suche Buch / Lernmaterial für Fortgeschrittene Bücher, Tutorials und Links 10
F Suche Buch zur Awt und Swing Programmierung für fortgeschrittene :) Bücher, Tutorials und Links 7
S Suche gutes Java-Buch für fortgeschrittenere Themen Bücher, Tutorials und Links 4
N [Suche] Buch Empfehlung für JUnit Bücher, Tutorials und Links 4
B [SUCHE] Buch oder Tutorial für "Herangehensweisen" Bücher, Tutorials und Links 3
B [SUCHE] Gutes Buch für nächsten Level Bücher, Tutorials und Links 3
L Suche Java-Buch für "Anfänger" Bücher, Tutorials und Links 4
F Suche buch für eine größere Anwendung Bücher, Tutorials und Links 7
J suche bestes Java-Buch für Neulinge mit Übungen-Lösunge Bücher, Tutorials und Links 9
V Suche Java Buch zum Schritt für Schritt lernen Bücher, Tutorials und Links 13
Dessischment Suche ein JOGL Buch Bücher, Tutorials und Links 9
W Suche Java einsteiger Buch und habe eine Frage zu einer Mathe Software. Bücher, Tutorials und Links 8
X Suche Aufgaben-Buch, Tutorials und ähnliches Bücher, Tutorials und Links 2
F Suche gutes Buch oder Tut zu Java Spieleprogrammierung Bücher, Tutorials und Links 3
M Suche J2EE Buch Bücher, Tutorials und Links 4
J Suche gutes junit Buch Bücher, Tutorials und Links 5
S Suche Java-Applet Buch Bücher, Tutorials und Links 2
F Suche spezielles Buch Bücher, Tutorials und Links 10
T Suche Buch: detaillierte Java-Zusammenfassung ohne viel Praxis oder Erklärungen Bücher, Tutorials und Links 3
V Suche Java (6) Buch Bücher, Tutorials und Links 7
G Suche Buch zur rcp Entwicklung Bücher, Tutorials und Links 3
T Suche Buch zur Java Persistence API unter Java SE Bücher, Tutorials und Links 2
M Suche gutes Eclipse Plug-In Buch Bücher, Tutorials und Links 2
G Suche Buch zu Design Patterns vornehmlich "visitor patt Bücher, Tutorials und Links 16
S [Suche] Java Buch über OOP und Netzwerk bzw. Datenbank Bücher, Tutorials und Links 4
E Suche Tutorial/Buch über guten Stil bei GUI-Programmierung Bücher, Tutorials und Links 7
D Suche Buch über Schichtentrennung (daobase und co) Bücher, Tutorials und Links 9
P [SUCHE] Buch zu Planung und Konzeption Bücher, Tutorials und Links 3
D Suche Buch Java und Pc Peripherie Bücher, Tutorials und Links 4
V Suche Java Buch das an Anfängerbücher anschließt Bücher, Tutorials und Links 5
P Suche Buch zum Thema JavaBeans Bücher, Tutorials und Links 17
G Suche Buch zu JBoss Bücher, Tutorials und Links 5
B [SUCHE] Buch über Design Patterns Bücher, Tutorials und Links 5
M suche umfassendes Tutorial von Scenebuilder Bücher, Tutorials und Links 1
D Suche Bücher für allgemeine Softwareentwicklung Bücher, Tutorials und Links 15
K Suche Beispiele Rekursion und dynamische Programmierung Bücher, Tutorials und Links 1
T Suche: Einführung in Apache Solr Bücher, Tutorials und Links 3
A Suche LaTeX Tutorials, PDFs oder anderen Lehrstoff Bücher, Tutorials und Links 4
M Suche Tutorials für Client/Server und anderes Netzwerkbezogenes Bücher, Tutorials und Links 2
M Suche Tutorial für Sound erstellung in JAVA Bücher, Tutorials und Links 3
D Suche HSQLDB Tutorial/Lektüre Bücher, Tutorials und Links 7
V Suche gute Bücher über Informatik insbesondere Java Bücher, Tutorials und Links 1
S Suche Java Herausforderungen Bücher, Tutorials und Links 5
L Suche Bücher auf Bachelor-Niveau für: ... Bücher, Tutorials und Links 6
tuttle64 Suche Buchempfehlungen zu Java Sicherheit Bücher, Tutorials und Links 2
P Suche Java Übungsaufgaben zu Datenstrukturen wie Listen etc Bücher, Tutorials und Links 5
T Suche Video Tuts zu Ubuntu!! Bücher, Tutorials und Links 3
P Suche Einstieg in Jbuilder 2008 R2 Bücher, Tutorials und Links 13
W Suche Buchempfehlung für SWING/AWT Bücher, Tutorials und Links 7
S [Suche]LWJGL OpenCL Tutorial Bücher, Tutorials und Links 4
M Suche best. Foren-Beitrag... Bücher, Tutorials und Links 9
B [Suche] Review Tools Bücher, Tutorials und Links 4
M Suche Buchergänzung zu "Servlets & JSP von Kopf bis Fuß" Bücher, Tutorials und Links 16
Y Suche ein MVC Tuturial Bücher, Tutorials und Links 2
G Suche Buchempfehlungen Bücher, Tutorials und Links 4
N [Suche] Anleitung zur Erstellung einer Webanwendung Bücher, Tutorials und Links 3
R Suche 2d Bilder Bücher, Tutorials und Links 4
Wepster Suche weiterführende Bücher Bücher, Tutorials und Links 4
GambaJo Suche gebraucht: NetBeans Platform 6 RCP (von Heiko Böck) Bücher, Tutorials und Links 3
M Suche ein besonderes Tut Bücher, Tutorials und Links 2
T [Suche] Tutorial zu Time Scheduler in Websphere Bücher, Tutorials und Links 5
A Suche Literatur für professionelle Internationalisierung. Bücher, Tutorials und Links 2
W Source-Code-Suche Bücher, Tutorials und Links 4
N Suche: FTP Tutorial Bücher, Tutorials und Links 19
K (suche) hilfeprogramm für eclipse Bücher, Tutorials und Links 3
A API/Doc Suche leicht gemacht Bücher, Tutorials und Links 5
K Suche gutes Java-Magazin Bücher, Tutorials und Links 5
J Suche Rekursions Ubuengen/Aufgaben Bücher, Tutorials und Links 3
rambozola suche link zu gegenüberstellung der strukturierung von daten Bücher, Tutorials und Links 2
T Suche Abschlussprojekt für Anfängerkurs Bücher, Tutorials und Links 12
K Suche Bücher: Hibernate, JSF, Tiles, Struts Bücher, Tutorials und Links 4
8 Suche Bücher zu SWT Bücher, Tutorials und Links 3
T Suche Bücher zu STRUTS und J2EE Bücher, Tutorials und Links 2
B [Suche] Tutorial zu HttpUnit Bücher, Tutorials und Links 5
P Suche Übungsaufgaben. Bücher, Tutorials und Links 2
B Suche gutes XMLBuch Bücher, Tutorials und Links 2
K Suche Java-Bücher für Fortgeschrittene Bücher, Tutorials und Links 5
E Suche Bücher über Java Klassen Bücher, Tutorials und Links 4
B [Suche] Alles über Java Web Start Bücher, Tutorials und Links 1
H Suche Tutorials,Links oder Buchtipps zu Struts & JSP Bücher, Tutorials und Links 3
A Java-Buch für erfahrenen Programmierer gesucht Bücher, Tutorials und Links 6
A Buch- Parallele Programmierung mit Java Threads Bücher, Tutorials und Links 1
B Java Buch für Kinder Bücher, Tutorials und Links 5
Z Buch für Einsteiger/Fortgeschrittene Bücher, Tutorials und Links 7
J Buch für Anfänger gesucht - Java / JavaFX Bücher, Tutorials und Links 52
T Java 8 lernen? & meinungen zum Buch Bücher, Tutorials und Links 12
B Gutes JavaFX Buch Bücher, Tutorials und Links 0
S Java Anfänger Kurs/Buch Bücher, Tutorials und Links 13
M JUnit-Buch oder Tutorial Bücher, Tutorials und Links 5
J Java Buch speziell zur Vererbung Bücher, Tutorials und Links 1
DaCrazyJavaExpert Buch für Fortgeschrittenere Bücher, Tutorials und Links 6
I SCJP Sun Certified Programmer for Java 6 Study Guide - ist das Buch noch aktuell? Bücher, Tutorials und Links 6
P Buch-Empfehlung zum Einstieg in Java Bücher, Tutorials und Links 42
K Java 8 Buch Bücher, Tutorials und Links 6
M ausführliche Doku/Tutorial/Buch zu Java Mission Control Bücher, Tutorials und Links 0
S Java-Buch für absolute Anfänger Bücher, Tutorials und Links 7
K Buch zur Mathematik Bücher, Tutorials und Links 3
M Bestes Buch um Android-Programmierung zu lernen Bücher, Tutorials und Links 2
J Gutes Java Buch für programmieren von Anwendungen Bücher, Tutorials und Links 1
U Jemand Erfahrungen mit dem Buch "Schrödinger programmiert Java" ? Bücher, Tutorials und Links 10

Ähnliche Java Themen


Oben