---
title: Sử dụng khởi tạo Swift thay vì Objective-C
impact: LOW
impactDescription: Giữ cho mã nguồn Swift thuần túy (idiomatic), hiện đại và dễ bảo trì.
tags: swift, ios, legacy, objective-c, initialization
---

## Sử dụng khởi tạo Swift thay vì Objective-C

Không sử dụng các hàm khởi tạo kiểu cũ (legacy constructors) kế thừa từ Objective-C như `CGPointMake`, `CGRectMake`, `CGSizeMake`, v.v. Hãy sử dụng các hàm khởi tạo chính thức của Swift để tận dụng các tính năng của ngôn ngữ như tham số có tên (named parameters).

**Incorrect (Legacy constructor):**

```swift
let point = CGPointMake(10, 20)
let rect = CGRectMake(0, 0, 100, 100)
let size = CGSizeMake(50, 50)
```

**Correct (Swift constructor):**

```swift
let point = CGPoint(x: 10, y: 20)
let rect = CGRect(x: 0, y: 0, width: 100, height: 100)
let size = CGSize(width: 50, height: 50)
```

**Tools:** SwiftLint (legacy_constructor)
