Im heutigen Artikel werden wir uns auf bewährte und nützliche Tipps und Tricks für die Erstellung von Qualitätscode konzentrieren, die wir bei msg life gerne verwenden und die dir helfen werden, die Formatierung, Struktur, Lesbarkeit und Funktionalität deines Java-Codes zu verbessern. Java-Programmierung macht dann Spaß, wenn wir uns nicht mehr damit beschäftigen müssen, wie der Code aussieht, sondern was er tut.
Bibliotheken
Wir verwenden Programmierbibliotheken, damit wir nicht alles selbst programmieren müssen.
- Verwende Drittanbieter-Bibliotheken nur, wenn es unbedingt notwendig ist. Wenn sie nicht aktualisiert werden, können sie in Zukunft eine Quelle für Schwachstellen im Code sein.
- Verwende ein Test-Framework, nicht mehrere. Z.B. JUnit oder TestNG.
- Wir empfehlen die Verwendung von mockito, um Funktionen in Tests zu simulieren.
- Mehrere Bibliotheken bieten sehr ähnliche Methoden an. Wähle eine Bibliothek aus und verwende diese konsequent.
Code-Formatierung
Die korrekte Formatierung des Codes ist sehr wichtig, da eine genaue und konsistente Einrückung zusammen mit angemessenen Abständen das Lesen und Bearbeiten des Codes sehr erleichtern kann.
- Schreibe links und rechts von Operatoren jeweils ein Leerzeichen
- Verwende für die Einrückung keine Tabulatoren, sondern Leerzeichen.
- Teile lange Codezeilen in mehrere Zeilen auf, wobei die nächste Zeile mit einem Operator beginnt.
- Befolge die Formatierungsregeln konsistent in allen Java-Projekten.
- Nutze die Funktionen moderner Programmierumgebungen bei der Formatierung von Code (z.B. automatische Formatierung).
Pakete (packages)
Pakete werden verwendet, um verwandten und zusammenhängenden Code zu organisieren.
- Verwende in Paketnamen immer Kleinbuchstaben.
- Der Name des Pakets muss seinen Zweck angeben.
- Organisiere die Pakete logisch in einer hierarchischen Projektstruktur.
Anmerkungen
Sie liefern zusätzliche Informationen über den Code in Form von Metadaten.
- Wir beschränken die Verwendung von Anmerkungen, um den Code sauberer zu machen.
- Beim Verwenden der Annotation @Deprecated gib im Javadoc-Kommentar den Grund sowie eine Alternative an.
- Beim Verwenden der Annotation @Deprecated gib im Javadoc-Kommentar den Grund sowie eine Alternative an.
- Verwende die Annotation @VisibleForTesting nur vorübergehend in Tests, wenn du die Zugriffsrechte von privat auf package-private erweitern musst.
Kommentare
Sie sollen also helfen, den Code zu erklären:
- wenn der Code in einem einfachen und verständlichen Stil geschrieben ist, sind keine Kommentare erforderlich,
- schreibe (oder erzeuge) keine Javadoc für Getter und Setter,
- für (Paket-)private Methoden, bevorzuge einen Implementierungshinweis und vermeide das Schreiben von Javadoc.
Ausnahmen
Wir verwenden sie für unerwartete Situationen im Code.
- Verwende ungeprüfte Ausnahmen, um den Code flexibler zu gestalten.
- Verwende die vordefinierten JDK-Ausnahmetypen und erstelle keine eigenen.
Namensgebung
Wir versuchen, geeignete Titel zu wählen, die den Zweck und die Bedeutung der einzelnen Teile des Programms widerspiegeln.
- Wir vermeiden im Allgemeinen Abkürzungen und wählen aussagekräftige Namen.
- Wir verwenden Adverbien für boolesche Variablen. Zum Beispiel. deaktiviert.
- Für andere Typen und Variablen verwenden wir Substantive. Zum Beispiel. ArrayList (Klasse), Element (Variable).
- Für Methoden verwenden wir Verben. Zum Beispiel. add, remove.
- Im Namen versuchen wir, die Absicht der Methode anzugeben, z.B. calculateSpeed.
- Wir versuchen, präzise zu sein, z.B. Anstelle der allgemeinen Variable time zum Speichern der Zeit in Stunden ist es besser, timeInHours zu verwenden.
- Wir vermeiden jegliche Duplikation. Zum Beispiel. anstelle von addElement(element) verwenden wir add(element).
Methoden
Methoden bilden die Grundeinheit des Codes in Java, daher ist es wichtig, beim Schreiben dieser Methoden die besten Praktiken zu befolgen.
- Die Methode löst nur ein Problem (wir halten uns an das Single Responsibility Principle), aber gründlich.
- Jede Methode hat einen klaren Zweck.
- Gut strukturierter Code enthält kurze Methoden und hat weniger als 15 Zeilen. Wenn die Methode länger ist, sollte es einen guten Grund dafür geben.
- Wir vermeiden Wiederholungen.
- Wir versuchen, die Eingabe in die Methode nicht zu verändern und die Ausgabe zu berechnen.
- Wenn wir auch den Eingabeparameter der Funktion ändern müssen, geben wir dies im Funktionsnamen an. Zum Beispiel. beginnt die Funktion mit dem Präfix update.
- Wir verwenden funktionale Programmierung und moderne APIs.
Schnittstellen
Schnittstellen sind die Regeln, die in den Klassen implementiert werden müssen, die eine bestimmte Schnittstelle implementieren.
- Wir verwenden keine Schnittstellen, wenn wir sie nicht brauchen.
- Wenn nur eine Klasse die Schnittstelle verwendet, wird die Verwendung der Schnittstelle bedeutungslos.
- Verwende für Schnittstellen das Interface Segregation Principle.
- Wir entwerfen die Schnittstelle für einen bestimmten Zweck und vermeiden generische Schnittstellen.
Klassen
Klassen sind die grundlegenden Bausteine jeder Anwendung in Java.
- Jede Klasse sollte nur ein bestimmtes Konzept oder eine bestimmte Funktionalität behandeln.
- Wir vermeiden die Erstellung von multifunktionalen Klassen, die alles tun.
- Entscheide, ob deine Klasse auf Daten oder auf deren Manipulation fokussiert sein wird. Zum Beispiel. Eine Dataklasse hält den Zustand (z.B. Matrix). Eine auf die Datenverarbeitung fokussierte Klasse definiert das Verhalten (z.B. MultiplicationService).
- Wir verwenden hauptsächlich private Methoden. Öffentliche Methoden nur in dem Maße, wie es für die Interaktion des Objekts mit der Außenwelt erforderlich ist.
- Wir verwenden in unseren Tests nicht den geschützten Ansatz. Stattdessen verwenden wir package private.
Wir hoffen, dass diese Tipps und Tricks dir helfen werden, saubereren, klareren und effizienteren Java-Code zu schreiben. Wenn du ein Java Programmierer bist und nach Arbeit suchst, schau dir unsere Mitareiterbenefits an und reagiere auf die neuesten Stellenangebote.
Über den Autor
Jozef Wagner
Java Developer Senior
Viac ako 10 rokov programujem v Jave, momentálne pracujem v msg life Slovakia ako Java programátor senior a pomáham zákazníkom implementovať ich požiadavky do poistného softvéru Life Factory. Vo voľnom čase si rád oddýchnem v lese, prípadne si zahrám nejakú dobrú počítačovú hru.