---
title: Dùng enum cho type chỉ gồm static members
impact: LOW
impactDescription: Ngăn chặn việc khởi tạo các type không cần thiết khi chúng chỉ đóng vai trò là container cho hằng số hoặc tiện ích.
tags: swift, ios, architecture, enum, static-members
---

## Dùng enum cho type chỉ gồm static members

Nếu một type chỉ chứa static members (như hằng số, helper methods), nên dùng `enum` không có case để không cho phép khởi tạo. `enum` không thể được khởi tạo trực tiếp, giúp tránh việc lạm dụng hoặc tạo ra các instance vô nghĩa.

**Incorrect (Sử dụng struct/class):**

```swift
struct Config {
    static let apiKey = "SECRET"
    static let baseUrl = "https://api.example.com"
}

let config = Config() // Vẫn có thể tạo instance
```

**Correct (Sử dụng enum):**

```swift
enum Config {
    static let apiKey = "SECRET"
    static let baseUrl = "https://api.example.com"
}

// let config = Config() // Lỗi: Enum không có case không thể khởi tạo
```

**Tools:** SwiftLint (convenience_type)
