STACKJAVA

KISS PRINCIPLE (Nguyên tắc KISS Trong JAVA)

Nguyên tắc KISS trong Java.

KISS là gì?

KISS ở đây là: Keep It Simple, Stupid! không phải “hun nhau” đâu nhé.

Hiểu nôm na thì KISS cõ nghĩa là giữ cho code của bạn thật đơn giản, càng đơn giản, ngắn gọn càng tốt.Bạn viết code, người khác vừa đọc đã hiểu bạn đang viết cái gì, code của bạn thực hiện cái gì thì bạn đang áp dụng thành công rồi đấy.

Ví dụ 1:

mình có 1 method:

public int addTwoNumber(int a, int b) {
 return a + b;
}

Khi bạn đọc nó bạn có thể hiểu luôn method đó làm cái gì. Với những method có logic phức tạp hơn, dài dòng hơn thì bạn cần phải biết đặt tên biến, tên hàm, comment thế nào để cho code của bạn dễ hiểu. (Có thời gian thì bạn hãy đọc cuốn ‘clean code’ của Robert C. Martin, bạn sẽ pro ngay mấy cái này =)) )

Ví dụ 2:

mình có 2 method đều thực hiện trả về true nếu số truyền vào là số chẵn:

// method 1
public static boolean isEven(int input) {
  return (input & 1) == 0;
}

// method 2
public static boolean isEven(int input) {
  return (input % 2) == 0;
}

 

Rõ ràng, method 1 nhanh hơn method 2 vì nó thực hiện trực tiếp với bit. Nhưng method 2 lại dễ hiểu hơn, người đọc không cần nhớ lại toán tử ‘&’ thực hiện như nào.

Ở đây mình chọn method 2 vì nó dễ hiểu, rõ ràng. Còn method 1 có nhanh hơn nhưng tính tổng thể thì nó không nhanh hơn quá nhiều chỉ  tính bằng mini giây (chỉ khi nào bạn thực hiện lập trình nhúng, big data… thì có lẽ lúc đó người ta sẽ xem xét lại.)

Ví dụ 3:

bạn có biết  hàm tìm kiếm string cài đặt sẵn trong java được viết theo thuật toán ‘Naive Search’, trong khi bạn chỉ cần lên google là có hàng tá thuật toán cùng chức năng với ‘Naive Search’ mà có tốc độ cao hơn nhiều nhưng người ta vẫn dùng ‘Naive Search’ vì nó dễ hiểu, dễ cài đặt. Còn nếu bạn muốn nhanh hơn thì tất nhiên phải viết lại method mới phù hợp cho mục đích của mình rồi.

 

Với cấp độ cao hơn, khi mà người ta áp dụng các pattern, framework… bản chất code đã trở nên phức tạp hơn nhiều nên tùy theo nhu cầu (khả năng mở rộng, chịu tải, nâng cấp version…), thực sự cần thì người ta mới áp dụng. Chứ mấy cái app con con bạn cũng áp dụng vào vào thì nó sẽ khiến bạn tốn thời gian viết code, thời gian debug…
Nếu bạn đọc code của đứa nào đó thấy khó hiểu thì đừng vội cho đó là cao siêu, hãy hỏi nó sao code mày khó hiểu thế =))

Áp dụng KISS vào code của bạn.

Khi áp dụng được nguyên tắc KISS rồi bạn sẽ thấy nó có rất nhiều lợi ích:

Bạn có thể xem thêm một số nguyên tắc lập trình khác tại đây

Thanks các bạn đã đọc bài, nếu có gì cần bổ sung hãy comment lại để mình thêm vào nhé 😉

 

Source:

https://people.apache.org/~fhanik/kiss.html