Translate this page

Keluar dari Fungsi Lebih Awal

Program dengan kondisi percabangan yang bertingkat seperti berikut relatif sulit untuk dipahami:

def can_publish(post, user):
    if user:
        if user.is_active:
            if post.owner == user:
                return True
            else:
                return False
        else:
            return False
    else:
        return False

Solusi

Segera keluar dari fungsi ketika menemukan salah satu dari beberapa kondisi negatif yang mungkin terjadi:

def can_publish(post, user):
    if not user:
        return False

    if not user.is_active:
        return False

    if post.owner != user:
        return False

    return True

Kesimpulan

Program dapat disederhanakan dengan membuat aliran logika tetap datar. Sebisa mungkin hindari kondisi percabangan bertingkat.