---
title: Ưu tiên private thay vì fileprivate
impact: MEDIUM
impactDescription: Giới hạn phạm vi truy cập chặt chẽ nhất có thể, giúp tăng tính đóng gói (encapsulation).
tags: swift, ios, access-control, private, fileprivate
---

## Ưu tiên private thay vì fileprivate

Sử dụng `private` để giới hạn phạm vi truy cập trong cùng một khối khai báo `class`/`struct`. Chỉ sử dụng `fileprivate` nếu bạn thực sự cần chia sẻ dữ liệu giữa các class/struct khác nhau cùng nằm trong một file vật lý Duy nhất. Việc lạm dụng `fileprivate` làm loãng tính đóng gói của code.

**Incorrect (dùng fileprivate khi không cần thiết):**

```swift
class User {
    fileprivate var name: String = ""
}
```

**Correct (dùng private):**

```swift
class User {
    private var name: String = ""
}
```

**Tools:** SwiftLint (private_over_fileprivate)
