JavaRush /Java-Blog /Random-DE /Kaffeepause Nr. 70. So schreiben Sie Java-Code schneller ...

Kaffeepause Nr. 70. So schreiben Sie Java-Code schneller mit Lombok. Schulungsliste für Programmieranfänger

Veröffentlicht in der Gruppe Random-DE

So beschleunigen Sie das Schreiben von Java-Code mit Lombok

Quelle: Dev.to Wir schreiben in jeder Anwendung den gleichen Boilerplate-Code. Zum Beispiel:
  • Getter;
  • Setzer;
  • Designer;
  • Builder-Entwurfsmuster;
  • und vieles mehr…
Wäre es nicht schön, wenn man diese Routinearbeit jemandem anvertrauen könnte? Und hier kann uns Lombok helfen.Kaffeepause Nr. 70.  So schreiben Sie Java-Code schneller mit Lombok.  Meine Trainingsliste für Programmieranfänger - 1

Was macht er?

Es generiert Bytecode für diese allgemeinen Aufgaben (Getter, Setter usw.) und fügt sie in eine .class ein, sodass sie in dem von uns geschriebenen Code verwendbar sind.

Wie kommt es dazu?

Sie müssen die Lombok-Abhängigkeit zu Ihrem Maven-Build hinzufügen. Anschließend müssen Sie die gewünschten Klassen und Felder mit einigen Lombok-Anmerkungen versehen. Schauen wir uns den Code an! Ohne Lombok:
public class Human {
    private int id;
    private String name;
    private int ageInYears;

    public Human() { }

    public Human(int id, String name, int ageInYears) {
        this.id = id;
        this.name = name;
        this.ageInYears = ageInYears;
    }

    public int getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public int getAgeInYears() {
        return ageInYears;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setAgeInYears(int ageInYears) {
        this.ageInYears = ageInYears;
    }

    // Builder pattern
  public Human id(int id){
        this.id = id;
        return this;
    }
    public Human name(String name){
        this.name = name;
        return this;
    }
    public Human ageInYears(int ageInYears){
        this.ageInYears = ageInYears;
        return this;
    }

    @Override
  public String toString(){
        return String.format("Human(id=%s, name=%s, ageInYears=%s)",
                this.id, this.name, this.ageInYears);
    }
}
Jetzt verwenden wir Lombok:
import lombok.*;
@Getter @Setter
@AllArgsConstructor @NoArgsConstructor
@Builder @ToString
public class Human {
    @Setter(AccessLevel.NONE)
    private int id;
    private String name;
    private int ageInYears;
}
Die Maven-Abhängigkeit sieht folgendermaßen aus:
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.16</version>
    <scope>provided</scope>
</dependency>
Hinweis: Der Versionsteil ändert sich je nach der neuesten Lombok-Version.

Was haben wir getan?

Wir haben Annotationen verwendet, um Getter, Setter, Konstruktoren, das Builder-Entwurfsmuster und die toString-Implementierung zu erstellen. Wir können auch Änderungen an einigen Anmerkungen vornehmen, beispielsweise am Setter für das ID-Feld. Wir setzen seine Zugriffsebene auf „Keine“: Das bedeutet, dass wir keinen Setter dafür erstellen.

Hat es sich gelohnt?

Wir haben 52 Zeilen geschrieben , als wir Lombok nicht benutzten. Wir haben 8 Zeilen mit Lombok geschrieben. Lombok hat uns geholfen, die Codegröße um fast das Vierfache zu reduzieren . Diese Punktzahl kann verbessert werden, wenn wir mehr Variablen in unseren Klassenzimmern haben. Lombok hat viel mehr Anmerkungen mit vielen nützlichen Informationen. Um sie anzusehen, besuchen Sie die Website .

Abschluss

Lombok hilft Ihnen, sich auf Ihren Geschäftscode zu konzentrieren und sich nicht um die kleinen Details (Getter/Setter/Konstruktoren/allgemeine Entwurfsmuster und andere Java-Konstrukte) zu kümmern.

Schulungsliste für Programmieranfänger

Quelle: DZone Mein Freund hat einen Sohn, der bald die High School abschließen wird. Er kennt sich ein wenig mit Programmieren aus und überlegt, ob er Programmierer werden soll. Kürzlich fragte er mich: „Was soll ich als nächstes unterrichten?“ Kaffeepause Nr. 70.  So schreiben Sie Java-Code schneller mit Lombok.  Meine Trainingsliste für Programmieranfänger - 2Als ich anfing, Programmieren zu lernen, ging ich davon aus, dass die Antwort auf die Frage „Was sollte ich als nächstes lernen?“ eine neue Programmiertechnologie, eine neue Sprache, eine neue Bibliothek oder so etwas sein würde. Im Laufe meiner Karriere änderte ich meine Meinung. Angehende Programmierer sollten nicht nur ihre Programmierkenntnisse verfeinern und neue Sprachen lernen, sondern auch in verwandten Bereichen studieren (das erkläre ich weiter unten). In diesem Text möchte ich eine Liste von Fähigkeiten zusammenstellen, deren Beherrschung ich Programmierern empfehlen würde. Mein Ziel ist es nicht, alle aktuellen Kenntnisse aufzulisten oder Links zu Tutorials bereitzustellen. Stattdessen möchte ich Neulingen helfen, sich mit einer Reihe von Werkzeugen, Techniken und Fähigkeiten vertraut zu machen, die ihnen beim Schreiben von Programmen helfen können.

Befehlszeile

Ich schätze, ich werde nach manchen Maßstäben bereits als „alt“ angesehen. Zu meiner Zeit bedeutete die Verwendung eines Computers, unter DOS zu sitzen und Befehle einzugeben. Seitdem hat sich viel verändert. Es ist sehr wichtig zu lernen, wie man die Befehlszeile verwendet. Viele Tools bieten lediglich eine Befehlszeilenschnittstelle. In manchen Fällen können Sie über die Befehlszeile schneller arbeiten. Sie sollten in der Lage sein, grundlegende Dinge zu tun wie:
  • Verzeichnisdurchquerung.
  • Dateiverwaltung (Kopieren/Verschieben/Löschen).
  • Kompilieren und/oder Ausführen von Quellcode.
Wenn Sie Windows verwenden, würde ich empfehlen, sich mit Linux vertraut zu machen und möglicherweise WSL2 anstelle einer vollständigen virtuellen Maschine zu verwenden. Wenn Sie einen Mac verwenden, können Sie die im Betriebssystem integrierte Shell verwenden. Sie können auch eine gute Erfahrung machen, indem Sie eine virtuelle Linux-Maschine installieren.

Versionskontrolle

Sie müssen lernen, wie Sie Ihren Quellcode mithilfe der Versionskontrolle verfolgen. Mit der Versionskontrollsoftware können Sie den Revisionsverlauf Ihres Projekts verfolgen, was für das Debuggen von entscheidender Bedeutung sein kann. Es erleichtert auch die Zusammenarbeit an der Codebasis. GitHub und GitLab sind zwei beliebte Websites zum Hosten von Open-Source-Projekten. Sie verwenden beide Git (wie die Namen vermuten lassen). Git ist heutzutage das beliebteste Tool, daher würde ich empfehlen, sich mit der Verwendung von Git in der Befehlszeile mit GitHub oder GitLab als Repository vertraut zu machen.

Netzwerke

Heutzutage erfordern die meisten Programme zumindest ein gewisses Maß an Vernetzung. Es ist wichtig zu verstehen, wie Netzwerke funktionieren. Zumindest sollten Sie die Grundlagen wie IP-Adressen, Ports und Protokolle verstehen. Das Erlernen von Firewalls, Lastausgleich und Proxys wird sich später auszahlen. Und das nicht nur in Ihrer Programmierkarriere. Stimmen Sie zu, es ist toll, die Frage zu verstehen: „Warum funktioniert WLAN nicht?“ Ich würde auch empfehlen, die Grundlagen von Cloud-Diensten wie AWS und Azure zu erlernen. Wenn Sie versuchen, eine AWS Virtual Private Cloud mit Subnetzen, Anmelderegeln und Gateways einzurichten, erhalten Sie Netzwerkerfahrung.

Testen

Ein wesentlicher Bestandteil des Schreibens guter Software ist das Erlernen des Testens von Software. Viele von uns lernen zu programmieren und „testen“ dann unseren Code. Unit- und Integrationstests sind wesentliche Fähigkeiten, die auf fast jede Software angewendet werden können, an der Sie arbeiten. Auch wenn das Testen zunächst mühsam erscheinen mag, wird sich diese Fähigkeit auszahlen und Sie können schneller und sicherer arbeiten.

Kontinuierliche Integration

Kontinuierliche Integration (CI) kombiniert Tests und Versionskontrolle. Jedes Mal, wenn Sie eine neue Code-Iteration erstellen, verfügen Sie über eine Reihe von Tests, die automatisch ausgeführt werden. CI-Tools haben sich in den letzten 10 Jahren erheblich verbessert. GitHub und GitLab verfügen über integrierte CI-Lösungen (GitHub Actions bzw. GitLab CI) und sind einfach zu nutzen. Wie beim Testen wird auch der Einstieg in CI schwierig sein. Aber sobald Sie die Grundlagen erlernt haben, werden Sie Probleme viel einfacher und schneller finden. Ich würde empfehlen, nach einem ausführlichen Tutorial mit Beispielen für die von Ihnen verwendete Programmiersprache zu suchen.

Schreibfähigkeiten

Dies ist wahrscheinlich der Bereich, den ich am meisten unterschätzt habe, als ich anfing, als Programmierer zu arbeiten. Ich übertreibe nicht: Ich glaube mittlerweile, dass die wichtigste Fähigkeit, die ein Programmierer zu seinem Arsenal hinzufügen kann, das Schreiben ist. Gute Schreibfähigkeiten bedeuten, dass Sie eine Idee mit einer minimalen Anzahl von Wörtern klar erklären können. Wenn Sie Programmieren lernen, arbeiten Sie normalerweise alleine, sodass Schreiben nicht erforderlich ist. Aber wenn Sie anfangen, in Teams zu arbeiten, müssen Sie Folgendes schreiben:
  • Dokumentation;
  • Fehlerberichte;
  • Funktionsanfragen;
  • Kundenvorschläge;
  • Dokumente mit Anforderungen;
  • E-Mails (viele E-Mails!);
  • Textnachrichten;
  • Blogbeiträge (möglicherweise);
Schreiben lernen. Übung. Nehmen Sie an einem Schreibkurs teil. Es wird sich für den Rest Ihres Lebens auszahlen. Außerdem: Lernen Sie, gut zu lesen. Als ich mit der beruflichen Weiterentwicklung begann, war ich von Anforderungsdokumenten eingeschüchtert. Mir ist jetzt klar, dass es Ihnen Monate erspart, wenn Sie sich ein paar Stunden Zeit nehmen, um diese Informationen sorgfältig zu studieren, indem Sie das Falsche bauen.

Andere Programmiersprachen

Heutzutage reicht es nicht aus, nur eine Programmiersprache zu beherrschen. Fast jeder Programmierer sollte mindestens ein paar davon kennen. Es ist wichtig, andere Sprachen zu lernen, um neue Techniken zu erlernen. Ich empfehle, ein paar verschiedene Kategorien von Sprachen zu lernen. In absteigender Prioritätsreihenfolge: Funktionale Programmierung. Die meisten Schulen unterrichten immer noch kein funktionales Programmieren (FP). FP ist ein leistungsstarker Ansatz, der das Schreiben vieler Arten von Code erleichtert. Ich bin voreingenommen, aber ich würde Haskell als die beste Sprache zum Erlernen empfehlen, da es Ihnen hilft, FP besser zu verstehen als viele andere Sprachen. Es ist auch nützlich, eine Sprache aus der LISP-Familie zu lernen. Das Erlernen der funktionalen Programmierung wird Ihnen helfen, besseren Code in fast jeder Sprache zu schreiben. Systemprogrammierung. Systemsprachen gehören einer niedrigeren Ebene an und ermöglichen eine bessere Kontrolle über den Betrieb des Programms. Indem Sie sie studieren, erfahren Sie, wie das Programm auf dem System funktioniert, was sehr nützlich sein kann, um Probleme in anderen Sprachen zu verstehen und zu beheben. Ich empfehle, Rust zu lernen, dann C und C++. Objektorientierte Sprachen. Java und C# sind die beiden beliebtesten objektorientierten Sprachen dieser Familie. (Ja, Python und C++ sind ebenfalls beliebt, aber ich werde sie separat hervorheben). OOP hat viele neue Paradigmen eingeführt und ist wahrscheinlich immer noch der beliebteste Programmieransatz, obwohl ich persönlich funktionale Programmieransätze bevorzuge. Allerdings gibt es bei der objektorientierten Programmierung viel zu lernen, und die Chancen stehen gut, dass Sie im Laufe Ihrer Karriere objektorientierten Code schreiben werden. Drehbuchschreiben. Python und Ruby sind zwei beliebte Skriptsprachen aus der Familie der objektorientierten Anwendungen. Insbesondere wird Python in verwandten Bereichen wie DevOps und Data Science häufig verwendet. Darüber hinaus handelt es sich um eine einfache Sprache, mit der man ganz einfach anfangen kann.

Programmiermethoden

Unabhängig davon, welche Programmiersprache Sie verwenden, lohnt es sich, sich mit einigen zusätzlichen Techniken vertraut zu machen, die über Ihre spezifische Sprache hinausgehen, darunter:
  • Datenbankprogrammierung. Ich empfehle dringend, SQL zu lernen. SQLite und PostgreSQL sind zwei Open-Source-DBMS, die es zu erkunden gilt.
  • Parallelität und asynchrone Programmierung. Dies wird heute immer wichtiger.
  • Netzwerkprogrammierung , insbesondere Erstellung von HTTP-Servern und -Clients.
  • Erstellen einer Weboberfläche mit HTML/CSS/JavaScript.
  • Serialisieren Sie Daten in Formaten wie JSON, YAML und Binärdateien.

Abschluss

Die obigen Informationen mögen kompliziert erscheinen. Sie müssen nicht denken, dass Sie das alles lernen müssen, um Programmierer zu werden. Das ist nicht so. Um ein großartiger Programmierer zu werden, braucht es Zeit und professionelle Übung. Wenn Sie noch nicht mit dem Programmieren begonnen haben, würde ich empfehlen, mit einigen Lieblingsprojekten zu beginnen. Erwägen Sie, zu Open-Source-Projekten beizutragen. Dies wird Ihnen helfen, sich vertraut zu machen und von erfahrenen Programmierern zu lernen. Viele Programmierer teilen ihr Wissen gerne mit Anfängern.
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION