JAVA Core Module 2 hẳn chúng ta đều biết đến khái niệm sơ đồ UML (The Unified Modeling Language Diagrams).
Rất nhiều lần trong các bài thực hành và bài luyện tập yêu cầu chúng ta đọc hiểu, tự vẽ các sơ đồ UML.
Ban đầu tôi đã làm chúng rất qua loa và chỉ làm cho xong chuyện cho đến khi đọc các bài viết về Clean Code.
Sơ đồ UML là điểm khởi đầu của một dự án và nó sẽ đi theo dự án cho đến khi kết thúc. Như vậy UML không thể là một thứ gì đó không quan trọng.
Hình dung UML chính là bản vẽ kiến trúc của chương trình chúng ta cần xây dựng. Tất cả các bước đều phải đúng trình tự, hợp logic… bởi vì sau này chúng ta phải dựa vào đó để nâng cấp, duy trì, sửa lỗi. Nếu không có UML Coder không khác gì lạc vào một mê trận các mã lệnh.
Tính hợp logic thể hiện ở chỗ UML phải xếp đặt các phương thức, thuộc tính theo một thể thống nhất sao cho khi code có thể theo một chiều tuần tự từ trên xuống dưới mà không cần phải nhảy cóc hay định nghĩa các thành phần chưa có rồi mới quay lại các phương thức cần code.
Do đó UML cần phải tuân thủ một vài quy tắc sau:
- Các phương thức kiểu boolean được đưa lên trước. (VD checkIndex, indexOf, contains…)
- Các phương thức có mục đích gần giống nhau thì đặt cạnh nhau (VD: add:boolean, add: void….)
- Các phương thức xử lý các trường hợp riêng đặt trước phương thức xử lý trường hợp chung (VD addFirst addLast đặt trước add)
- Các phương thức OVERLOADING cần tuân thủ theo trình tự nhất định (vd theo sự tăng dần các tham số hình thức)
- Các phương thức OVERRIDING nên được ghi đè lần lượt từng phương thức một chứ không nên thêm tất cả một lần rồi mới sửa từng phương thức. Điều đó khiến cho mã lệnh của bạn bị rối. Hãy xử lý từng phương thức một, xử lý xong rồi mới ghi đè phương thức tiếp theo.
- Tuân theo trình tự: thuộc tính, phương thức khởi tạo, getter setter, phương thức ghi đè, phương thức mới.
Ngay từ những ngày đầu tiếp xúc với lập trình, khi chưa viết một dòng code nào tôi đã được nghe đến khái niệm Clean Code – viết mã sạch. Đối với tôi khi đó Clean Code giống như một nghệ thuật mà chỉ có các nghệ nhân (coder) lành nghề mới có thể thực hiện được. Và đó là một điều đẹp đẽ.
Nhưng hóa ra tôi lầm !
Clean Code đúng là một nghệ thuật, nó là vẻ đẹp của lập trình. Một lập trình viên giỏi ngoài việc giải quyết tốt vấn đề bài toán thì việc viết mã sạch là bắt buộc phải làm được. Hãy viết mã như văn xuôi. Mã sạch luôn thể hiện rõ ràng, đơn giản, phản ánh trực tiếp vào trí tưởng tượng của người đọc mục đích của nó giống như những bức ảnh, khung hình. Chúng tường minh và rõ ràng, đơn giản và trực tiếp.
Nhưng đó không phải là điều chỉ có các code lành nghề mới có thể thực hiện.
Giống như một thợ học việc, hãy làm mọi việc đúng đắn ngay từ đầu. Tường thành vững chắc được kết từ những viên gạch ngay ngắn, đúng vị trí. Hãy xây dựng cho mình những thói quen tốt. Clean Code chính là một trong những thói quen mà ngay từ ban đầu mọi Coder đều phải học nếu không muốn trở thành kẻ kéo sập mọi thành quả của dự án.
Để hiểu thêm về tầm quan trọng của Clean Code, mời bạn tham khảo: https://tapchilaptrinh.vn/2014/05/26/ma-sach/
Cuối tuần vui vẻ nhé cả nhà !