Swift:
Sắp xếp mã thành các hàm

Cách thực hiện:

Hãy tưởng tượng một nhiệm vụ: tính trung bình của một mảng. Không dùng hàm, bạn sẽ đưa tất cả vào main. Dùng hàm, bạn làm như sau:

func calculateAverage(of numbers: [Double]) -> Double {
    let sum = numbers.reduce(0, +)
    return numbers.isEmpty ? 0 : sum / Double(numbers.count)
}

// Cách sử dụng
let scores = [92.5, 88.75, 99.0, 70.5]
let averageScore = calculateAverage(of: scores)
print("Điểm trung bình là \(averageScore)")

Kết quả mẫu sẽ là:

Điểm trung bình là 87.6875

Đào sâu

Theo lịch sử, khi lập trình ngày càng phức tạp, hàm trở thành một yếu tố quan trọng trong việc quản lý độ phức tạp. Các phương pháp thay thế bao gồm việc ghi mã trực tiếp và sao chép dán mã (mã spaghetti) – nay được coi là thực hành xấu. Trong Swift, hàm được xem là công dân hạng nhất; chúng có thể được gán cho biến, truyền dưới dạng đối số, và được trả về từ các hàm khác, làm cho mã lệnh trở nên linh hoạt và mô-đun hơn.

Về mặt triển khai, hãy thiết kế các hàm của bạn để thực hiện một việc tốt. Hãy mục tiêu cho các hàm có một mục đích rõ ràng và một tên phản ánh điều đó. Chú ý đến số lượng tham số — quá nhiều và bạn có thể đang làm quá nhiều. Xử lý lỗi? Cân nhắc tới việc sử dụng các hàm ném lỗi và xử lý vấn đề một cách thanh lịch. Nhớ rằng: Swift đề cao tính dễ đọc và dễ bảo trì.

Xem thêm