Vấn đề: về cơ bản mọi dev đều đã sử dụng IF-ELSE trong quá trình học tập và làm việc với nghề, và tất nhiên có nhiều logic phức tạp khiến chúng ta cần dùng cấu trúc lồng IF-ELSE rất nhiều. ví dụ như
về cơ bản, cách này hoàn toàn đúng,mọi chuyện sẽ không có vấn đề nếu nhìn 1 cấu trúc if-else có logic ngắn.
nhưng đôi khi có nhiều dự án, chúng ta có thể xử lý logic khá lớn và có thể có trường hợp xử lý quá nhiều IF-ELSE, việc này ảnh hưởng khá nhiều đến việc đọc hiểu logic.
- ngoài cách là dùng SWITCH-CASE, thì mình muốn chia sẻ với mọi người 1 phương pháp nữa đó là phương pháp Guard clauses
Guard clauses là gì ???
Guard clauses còn được gọi là return sớm. Ý tưởng đằng sau việc return sớm là bạn viết các hàm mà trả về kết quả mong đợi sẽ ở cuối hàm đó.
về cơ bản, thay vì dùng IF-ELSE, nó sẽ chỉ dùng IF để chheck điều kiện, nếu trường hợp đó xảy ra thì nó sẽ xử lý và trả về luôn kết quả tại bước đó. và bỏ qua tất cả các điều kiện khác. lúc này code bên trên sẽ tương ứng như sau:
- trông không khác code trên là mấy đúng không,
nhưng về cơ bản, khi code với cấu trúc này, code mọi người viết sẽ không thụt lề quá sâu khi format, code tường minh và đẹp mắt hơn.
trên hết, với mỗi IF, thì đó chính là 1 test case mà code của bạn phải thực hiện, điều này giúp tìm bug và xử lý 1 cách nhanh chóng hơn so với việc check lần lượt từng IF-ELSE để tìm đến đúng được vị trí của bug.
video ví dụ lụm từ trên mạng: https://www.youtube.com/watch?v=EumXak7TyQ0&t=60s
Hết gòi,
Hi vọng bài viết có thể giúp mọi người chút gì đó trong công việc.
Happy coding.
Mị lặn đây