Clean Code in PHP: Prinzipien für lesbaren Code

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 auf PHP: Prinzipien und Beispiele



Jeder PHP-Entwickler kennt die Situation, wenn der eigene Code nach ein paar Monaten unverständlich wird. Und was soll man erst über fremden Code sagen, der vom vorherigen Team übernommen wurde. Dies führt zu Bugs, langem Onboarding neuer Mitarbeiter und der Unlust, Änderungen vorzunehmen. Die Lösung dieses Problems sind die Prinzipien des Clean Code, die von Robert Martin (Onkel Bob) populär gemacht wurden. In diesem Artikel werden wir die wichtigsten Clean Code-Prinzipien in Bezug auf PHP analysieren und konkrete Beispiele betrachten.



1. Benennung von Variablen, Funktionen und Klassen



Die richtige Benennung ist die Grundlage für lesbaren Code. Der Name sollte die Fragen beantworten: "Was ist das?" und "Wozu dient es?". Sparen Sie nicht an Buchstaben zugunsten der Kürze.



Schlechtes Beispiel (schlechter Code)

<?phpfunction getData($d, $u) {    $r = [];    foreach ($d as $i) {        if ($i['status'] === 'active' && $i['user_id'] === $u) {            $r[] = $i;        }    }    return $r;}?>


Gutes Beispiel (sauberer Code)

<?phpfunction getActiveOrdersByUser(array $orders, int $userId): array{    $activeOrders = [];    foreach ($orders as $order) {        if ($order['status'] === 'active' && $order['user_id'] === $userId) {            $activeOrders[] = $order;        }    }    return $activeOrders;}?>


Benennungsregeln:

  • Variablen — Substantive: $userName, $orderTotal.
  • Funktionen — Verben: calculateTotal(), sendEmail().
  • Klassen — Substantive im Singular: UserRepository, OrderProcessor.
  • Boolesche Variablen — beginnen Sie mit is, has, can: $isActive, $hasPermission.
  • Vermeiden Sie Abkürzungen ($usr), Transliteration ($sozdanieZakaza) und einbuchstabige Variablen (außer für Schleifenzähler $i).


2. Funktionen: klein und mit einer einzigen Verantwortung



Eine Funktion sollte nur eine einzige Aktion ausführen und diese gut machen. Wenn eine Funktion mehrere Aufgaben erfüllt, muss sie aufgeteilt werden. Die ideale Größe einer Funktion beträgt 10–20 Zeilen.



Schlechtes Beispiel (Funktion macht alles)

<?phpfunction processOrder(array $orderData): bool{    // Validierung    if (empty($orderData['items'])) {        return false;    }    // Berechnung der Kosten    $total = 0;    foreach ($orderData['items'] as $item) {        $total += $item['price'] * $item['quantity'];    }    // Speichern in der DB    $sql = "INSERT INTO orders (user_id, total, status) VALUES (?, ?, 'new')";    $stmt = $this->db->prepare($sql);    $stmt->execute([$orderData['user_id'], $total]);    // E-Mail senden    mail($orderData['email'], 'Order Confirmation', 'Your order is placed');    return true;}?>


Gutes Beispiel (Aufteilung in kleine Funktionen)

<?phpclass OrderService{    public function processOrder(array $orderData): bool    {        if (!$this->validateOrder($orderData)) {            return false;        }        $total = $this->calculateTotal($orderData['items']);        $orderId = $this->saveOrder($orderData['user_id'], $total);        $this->sendConfirmationEmail($orderData['email']);        return true;    }

private function validateOrder(array $orderData): bool { return !empty($orderData['items']); }

private function calculateTotal(array $items): float { $total = 0; foreach ($items as $item) { $total += $item['price'] * $item['quantity']; } return $total; }

private function s

Blogs

Buchempfehlungen