Keep It Simple and Stupid

Keep It Simple and Stupid

Nguyên tắc KISS viết tắt của cụm từ - Keep It Simple, Stupid là một nguyên lý quan trọng trong lập trình và thiết kế phần mềm. Nguyên lý này khuyến khích chúng ta tạo ra những giải pháp đơn giản và dễ hiểu thay vì tạo ra những giải pháp phức tạp và rườm rà.

Với nguyên tắc KISS, chúng ta cần:

✅ Giữ cho mã nguồn đơn giản: Tránh việc thêm các phức tạp không cần thiết và chỉ tạo ra những phần cần thiết để giải quyết vấn đề. Code đơn giản dễ hiểu, dễ bảo trì và ít gây lỗi hơn.

-> Đặt tên biến và các hàm, phương thức có ý nghĩa -> giảm bớt được phần comment code nếu việc nhìn vào hàm, phương thức là đã hiểu được ý nghĩa của chúng.

✅ Tránh phức tạp hóa không cần thiết: Không cần tạo ra những giải pháp phức tạp khi vấn đề có thể được giải quyết bằng các cách đơn giản hơn. Đừng thêm tính năng không cần thiết, logic phức tạp hoặc cấu trúc rườm rà nếu không cần thiết.

func contains(s, sub string) bool {
    for i := 0; i <= len(s)-len(sub); i++ {
        if s[i:i+len(sub)] == sub {
            return true
        }
    }

    return false
}

func containsKiss(s, sub string) bool {
    return strings.Contains(s, sub)
}

Ví dụ sử dụng thư viện check contains của string có sẵn trong golang thay vì phải tự implement.

✅ Tập trung vào giải quyết vấn đề cơ bản: Tìm hiểu và giải quyết vấn đề cốt lõi trước. Đừng làm phức tạp vấn đề bằng cách thêm các tính năng phụ và logic không cần thiết.

func equal(a, b int) bool {
    if a > b || a < b {
        return false
    }

    return true
}

func equalKiss(a, b int) bool {
    return a == b
}

Thay vì, phải check các TH có thể xảy ra ta có thể sử dụng toán tử == và return luôn

✅ Đơn giản hóa thiết kế: Thiết kế phần mềm cần tập trung vào sự đơn giản và hiệu quả. Tránh tạo ra cấu trúc phức tạp, quá nhiều lớp, quá nhiều kết nối và quá nhiều phụ thuộc.

-> Đoạn này cá nhân mình nghĩ là nên tuân thủ theo 1 số nguyên tắc thiết kế phần mềm như: SOLID, Clean Architecture hay MVC, MVVM,...

✅ Chú trọng đến khả năng đọc và hiểu mã nguồn: Mã nguồn cần dễ đọc, dễ hiểu và dễ theo dõi. Đảm bảo rằng người đọc (bao gồm cả bạn trong tương lai) có thể hiểu mã nguồn một cách nhanh chóng và dễ dàng.

func getMonth(month int) string {
    if month == 1 {
        return "Jan"
    } else if month == 2 {
        return "Feb"
    } else if month == 3 {
        return "Mar"
    }

    return ""
}

func getMonthKiss(month int) string {
    switch month {
    case 1:
        return "Jan"
    case 2:
        return "Feb"
    case 3:
        return "Mar"
    default:
        return ""
    }
}

Thay vì sử dụng if else nhiều hãy viết nó dưới dạng switch case để mã nguồn được clean và dễ đọc hơn.

Việc tuân thủ nguyên tắc KISS giúp chúng ta tạo ra mã nguồn dễ bảo trì, dễ mở rộng và dễ sử dụng. Nó giúp giảm thiểu rủi ro lỗi, tăng tính linh hoạt và cải thiện hiệu suất trong quá trình phát triển phần mềm.

Đọc thêm medium 👉 medium.com/@smalam119/the-kiss-principle-in..