---
title: Không sử dụng access modifier với extension
impact: MEDIUM
impactDescription: Giữ cho extension rõ ràng và nhất quán theo chuẩn Swift style guide.
tags: swift, ios, extension, access-modifier, style-guide
---

## Không sử dụng access modifier với extension

Không nên khai báo `public`, `private`, `internal`, hoặc `fileprivate` trực tiếp cho phần `extension`. Quyền truy cập nên được định nghĩa cụ thể cho từng thành phần (biến, hàm) bên trong extension. Điều này giúp kiểm soát truy cập linh hoạt hơn và tránh các hành vi không mong muốn khi gom nhóm code.

**Incorrect (khai báo modifier cho extension):**

```swift
public extension MyClass {
    func doSomething() {}
}
```

**Correct (khai báo modifier cho thành phần bên trong):**

```swift
extension MyClass {
    public func doSomething() {}
}
```

**Tools:** SwiftLint (no_extension_access_modifier)
