---
title: Biến Boolean phải bắt đầu bằng is, has, hoặc should
impact: LOW
impactDescription: Tiền tố is/has/should làm rõ biến là kiểu Boolean, tránh nhầm lẫn với biến trạng thái khác và cải thiện tính đọc của code.
tags: swift, ios, naming, boolean, code-quality, readability
---

## Biến Boolean phải bắt đầu bằng is, has, hoặc should

Property/biến kiểu `Bool` phải có tên bắt đầu bằng `is`, `has`, `should`, `can`, `will` hoặc `allow`. Điều này là convention của Swift API Design Guidelines.

**Incorrect (tên Boolean không rõ):**

```swift
class UserSession {
    var login: Bool = false          // isLoggedIn?
    var premium: Bool = false        // isPremium?
    var notification: Bool = true    // hasNotification? isNotificationEnabled?
    var error: Bool = false          // hasError?
    var loaded: Bool = false         // isLoaded?
}

struct FeatureFlags {
    var darkMode: Bool = false       // isDarkModeEnabled?
    var biometric: Bool = false      // isBiometricEnabled?
    var analytics: Bool = true       // shouldTrackAnalytics?
}
```

**Correct (tên Boolean rõ ràng):**

```swift
class UserSession {
    var isLoggedIn: Bool = false
    var isPremiumUser: Bool = false
    var hasUnreadNotifications: Bool = true
    var hasError: Bool = false
    var isDataLoaded: Bool = false
}

struct FeatureFlags {
    var isDarkModeEnabled: Bool = false
    var isBiometricEnabled: Bool = false
    var shouldTrackAnalytics: Bool = true
    var canAccessPremiumContent: Bool = false
    var willShowOnboarding: Bool = true
}

// SwiftUI @State
struct ContentView: View {
    @State private var isShowingAlert = false
    @State private var isLoading = false
    @State private var hasCompletedOnboarding = false

    var body: some View { ... }
}
```

**Tools:** SwiftLint (`identifier_name`), Code Review

