Clean Code in JavaScript: Prinzipien und Beispiele für Anfänger

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Clean Code in JavaScript: Prinzipien und Beispiele für Anfänger



Sauberer Code (Clean Code) ist nicht nur ein modischer Begriff, sondern eine grundlegende Fähigkeit jedes professionellen Entwicklers. In der Welt von JavaScript (insbesondere in der Node.js-Umgebung) wird Code schnell geschrieben, aber ohne klare Prinzipien wird die Wartung zum Albtraum. Dieser Artikel richtet sich an Anfänger, die nicht nur funktionierenden, sondern schönen, lesbaren und skalierbaren Code schreiben möchten.



Sauberer Code ist Code, der leicht zu lesen, leicht zu ändern und leicht zu testen ist. Er weckt nicht den Wunsch, ihn von Grund auf neu zu schreiben. Lassen Sie uns die wichtigsten Prinzipien anhand praktischer Beispiele durchgehen.



1. Benennung von Variablen und Funktionen: Sagen Sie die Wahrheit



Die einfachste und gleichzeitig schwierigste Regel – der Name sollte das Wesen widerspiegeln. Sparen Sie nicht an Zeichen, sparen Sie Zeit beim Verständnis.



Schlecht (unverständlich):

const d = new Date();const arr = ['apple', 'banana', 'grape'];const fn = (x) => x * 2;


Gut (lesbar):

const currentDate = new Date();const fruitList = ['apple', 'banana', 'grape'];const doubleValue = (value) => value * 2;


Benennungsregeln:

  • Variablen – Substantive (user, productList, errorMessage).
  • Funktionen – Verben (getUser, calculateTotal, validateEmail).
  • Boolesche Werte – beginnen Sie mit is, has, should (isActive, hasPermission, shouldUpdate).
  • Vermeiden Sie magische Zahlen – lagern Sie sie in Konstanten aus.


// Schlechtconst t = 3600000; // Was ist das für eine Zahl?

// Gutconst MILLISECONDS_IN_AN_HOUR = 3600000;const timeout = MILLISECONDS_IN_AN_HOUR;


2. Funktionen: Ein Schritt – eine Aktion



Das Prinzip der einzigen Verantwortung (Single Responsibility Principle) gilt auch für Funktionen. Eine Funktion sollte eine Sache tun und diese gut machen.



Schlecht (macht alles auf einmal):

function processUserData(user) {    const fullName = `${user.firstName} ${user.lastName}`;    const email = user.email.toLowerCase();    const isValid = email.includes('@');        if (isValid) {        const result = { fullName, email };        saveToDatabase(result);        sendWelcomeEmail(email);        return result;    } else {        throw new Error('Invalid email');    }}


Gut (aufgeteilt in kleine Funktionen):

function buildFullName(firstName, lastName) {    return `${firstName} ${lastName}`;}

function normalizeEmail(email) { return email.toLowerCase().trim();}

function isValidEmail(email) { return email.includes('@');}

function processUserData(user) { const fullName = buildFullName(user.firstName, user.lastName); const email = normalizeEmail(user.email); if (!isValidEmail(email)) { throw new Error('Invalid email'); } const result = { fullName, email }; saveToDatabase(result); sendWelcomeEmail(email); return result;}


Solcher Code ist leicht zu testen, leicht zu ändern und leicht zu verstehen.



3. Komplexitätsmanagement: Vermeiden Sie tiefe Verschachtelung



Tiefe Verschachtelung von if und for ist der Feind der Lesbarkeit. Verwenden Sie frühe Rückgaben (early return) und Guard Clauses.



Schlecht (tiefe Hölle):

function processOrder(order) {    if (order) {        if (order.isPaid) {            if (order.items.length > 0) {                // ... 50 Zeilen Code            }        }    }}


Gut (flache Struktur):

function processOrder(order) {    if (!order) {        return;    }                

Blogs

Buchempfehlungen