Schlagwort-Archiv: refactoring

array vs. object

Arrays gehören wohl mit zu den Gründen, wegen denen PHP als anfängerfreundlich gilt. Als mir in der Schule mit Java das erste Mal eine andere Programmiersprache als PHP begegnet ist, war ich erstaunt über die wenigen Möglichkeiten, die mir die Arrays dort boten. Aber es soll hier nicht um einen Vergleich der Programmiersprachen gehen, sondern um die Probleme, die dieser Luxus bereiten kann.

Weiterlesen

Guard Clauses

Oft brauche ich eine Funktion, die mir einen von verschiedenen Faktoren abhängigen Wert zurück liefert. Das folgende Beispiel stammt aus der Berechnung von Bonuspunkten für einen Onlineshop.

public function getCreditPoints()
{
    $points = $this->_getBasisPoints();

    if ($this->_isPayedWithCreditCard()) {
        $points *= 1.1;
    } else if ($this->_isPayedWithPrepayment()) {
        $points *= 1.25;
    }
    return $points;
}

Der Code ist soweit okay, lässt sich aber in einer Hinsicht noch optimieren. Jeder, der sich die Methode anschaut, muss sich sowohl beim if-Block als auch beim elseif-Block merken, was bisher passiert ist. Denn zu dem Zeitpunkt weiß der Leser ja noch nicht, dass mit $points nichts mehr gemacht wird.

Weiterlesen