Devloper Guidelines: Refactoring

Folgende Dinge sind zu beachten beim Refactoring von Legacy-Code.

Type-Checking

Falsche Reihenfolge in if Abfragen

Falsch:

if (count($fzg_daten['colors']) > 0 and is_array($fzg_daten['colors'])) {

Richtig:

if (is_array($fzg_daten['colors']) && count($fzg_daten['colors']) > 0) {

Error Handling / Exception Handling

SQL Queries

Sql Queries sind am besten als Prepared Statement in try{}catch(){} Blöcke zu platzieren.

try {
    $sql = <<<SQL
        SELECT id, artikelbezeichnung1, artikelbezeichnung2, int_artikel_nr, artikel, profil, bestand, preis14, warengruppennr, hersteller 
        FROM shop_artikel 
        WHERE ean_nummer = ? 
        {$wgrfilter}
    SQL;

    $resultCheck = $db->runQuery($sql, [$felge->ean]);

} catch (Exception $e) {
    $env->log('Could not execute SQL query in DB: ' . $e->getMessage(), 'error');
    $db->error_report(__FILE__, __LINE__, $sql, $e->getMessage(), $e->getCode());
}