wiki

View on GitHub

clean code cho if else 2

1. Giữ đơn giản, dễ đọc và sử dụng toán tử logic một cách hiệu quả:

bad

if ($age >= 18 && $age <= 60) {
    if ($salary > 5000) {
        if ($position == "Manager") {
            // todo something
        }
    }
}

good

if ($age >= 18 && $age <= 60 && $salary > 5000 && $position == "Manager") {
    // todo something
}

2.Xử lý các trường hợp mặc định hoặc đặc biệt hiệu quả:

bad

if ($day == "Monday") {
    // Làm việc từ 9:00 đến 17:00
} else {
    if ($day == "Tuesday") {
        // Làm việc từ 10:00 đến 18:00
    } else {
        // Nghỉ làm
    }
}

good

if ($day == "Monday") {
    // Làm việc từ 9:00 đến 17:00
} elseif ($day == "Tuesday") {
    // Làm việc từ 10:00 đến 18:00
} else {
    // Nghỉ làm
}

3.Sắp xếp các điều kiện một cách cẩn thận:

bad

function calculateGrade($score) {
    if ($score >= 90) {
        return 'A';
    } elseif ($score >= 80) {
        return 'B';
    } elseif ($score >= 70) {
        return 'C';
    } elseif ($score >= 60) {
        return 'D';
    } else {
        return 'F';
    }
}

good

function calculateGrade($score) {
    if ($score < 60) {
     return 'F';
    } else {
       if ($score >= 90) {
            return 'A';
        } elseif ($score >= 80) {
            return 'B';
        } elseif ($score >= 70) {
            return 'C';
        } else {
            return 'D';
        }
    }
}

4.Giảm thiểu sự trùng lặp code:

bad

if ($isLoggedIn) {
    // Hiển thị nút "Đăng xuất"
    echo '<a href="logout.php">Đăng xuất</a>';
    // Hiển thị chào mừng người dùng đã đăng nhập
    echo 'Chào mừng ' . $username;
} else {
    // Hiển thị nút "Đăng nhập"
    echo '<a href="login.php">Đăng nhập</a>';
    // Hiển thị chào mừng khách truy cập
    echo 'Chào mừng khách truy cập';
}

good

if ($isLoggedIn) {
    // Hiển thị nút "Đăng xuất"
    $buttonText = 'Đăng xuất';
    $buttonLink = 'logout.php';
    $welcomeMessage = 'Chào mừng ' . $username;
} else {
    // Hiển thị nút "Đăng nhập"
    $buttonText = 'Đăng nhập';
    $buttonLink = 'login.php';
    $welcomeMessage = 'Chào mừng khách truy cập';
}

echo '<a href="' . $buttonLink . '">' . $buttonText . '</a>';
echo $welcomeMessage;

5.early returns:

bad

function calculateDiscount($amount, $isPremiumMember) {
    if ($amount > 100) {
        if ($isPremiumMember) {
            return $amount * 0.2; // Giảm giá 20% cho thành viên Premium nếu tổng số tiền mua hàng vượt quá 100
        } else {
            return $amount * 0.1; // Giảm giá 10% cho thành viên không Premium nếu tổng số tiền mua hàng vượt quá 100
        }
    } else {
        return 0; // Không giảm giá nếu tổng số tiền mua hàng không vượt quá 100
    }
}

good

function calculateDiscount($amount, $isPremiumMember) {
    if ($amount <= 100) {
        return 0; // Không giảm giá nếu tổng số tiền mua hàng không vượt quá 100
    }

    if ($isPremiumMember) {
        return $amount * 0.2; // Giảm giá 20% cho thành viên Premium nếu tổng số tiền mua hàng vượt quá 100
    }

    return $amount * 0.1; // Giảm giá 10% cho thành viên không Premium nếu tổng số tiền mua hàng vượt quá 100
}