Bài đăng

Hiển thị các bài đăng có nhãn code

Strategy Design Pattern

Hình ảnh
         1. Strategy design pattern là gì?     -  Trong design pattern được chia làm 3 nhóm chính: creational  pattern , structural  pattern , behavior pattern. Và s trategy design pattern thuộc nhóm b ehavior pattern.      - Nó cho phép định nghĩa tập hợp các thuật toán, đóng gói từng thuật toán lại , và dễ dàng thay đổi linh hoạt các thuật toán bên trong object. Strategy cho phép thuật toán biến đổi độc lập khi người dùng sử dụng chúng.          2. Những trường hợp có thể áp dụng strategy:     - Trong một dự án có chức năng convert hình ảnh jpg sang có loại khác, ban đầu chỉ có loại convert sang png. Ban đầu chúng ta chỉ cần xây dựng 1 class ImageConvertor với hàm convertTo và truyền vào image. Image converter class      - Vấn  đề: Sau một thời gian thì dự án bắt đầu phát triển và yêu cầu chúng ta thêm những loại convert khác như webp, tiff, gif và có thể sau này sẽ thêm nhiều loại convert khác nữa. Giải quyết vấn đề:      -  Vào thẳng hàm  convert để sửa if else trong đó. Cách này

Code smell - Code gì thấy gớm vậy ba

Hình ảnh
       Mình thấy có khá nhiều developer kể cả mình từ các bạn intern, fresher... cũng mắc phải những lỗi code smell  mà đáng lẽ ra chúng ta nên tránh. Đừng có nói: "Tao làm cái này chạy được rồi sau này thằng khác dô maintain thì nó tự đọc code đi, chứ ai rảnh đâu mà làm cho nó đẹp, dễ đọc". Xong cuối cùng bản thân mình lại là người đi hốt đống code thúi đó.  Vậy cho nên dưới đây sẽ là một vài lỗi  code smell   mà mình thấy và hay gặp phải, cũng như cách giải quyết chúng.     1. Đặt tên biến không rõ ràng, hay dùng magic number trong code:              -  Có vài trường hợp đặt tên biến rất bị confuse, kiểu không biết biến đó dùng để làm gì, làm cho trở nên khó hiểu hơn rất nhiều. Thường thì nên đặt tên biến là danh từ là tốt nhất.                Ví dụ: không nên : getStartTime, valueA, valueB,  nên : startTime, endTime, totalProduct               - Và đặc biệt mình thấy có một cái mà khá nhiều người hay mắc phải đó là magic number , nhìn thì vô hại đó nhưng mà hại người khác