Trong bài viết trước, chúng ta đã điểm qua một số nhầm lẫn phổ biến dẫn đến việc hiểu sai về nguyên tắc Đơn Nhiệm trong lập trình. Bài viết này sẽ trình bày về cách áp dụng tính Đơn Nhiệm không chỉ trong lớp (class) mà còn ở các khía cạnh khác của mã nguồn, từ hàm cho đến tên biến, nhằm giúp các lập trình viên phát triển mã nguồn sạch và dễ bảo trì.
Đơn Nhiệm không chỉ giới hạn ở Class
Nguyên tắc Đơn Nhiệm thường được hiểu là chỉ áp dụng cho lớp (class), nhưng thực tế, nguyên tắc này cũng cần được áp dụng cho các thành phần nhỏ hơn như: hàm, tên biến, và thậm chí các gói thư viện. Hãy nhớ rằng, người sáng lập ra nguyên tắc SOLID cũng đã đề cập đến tính Đơn Nhiệm trong cuốn sách nổi tiếng 'Clean Code: A Handbook of Agile Software Craftsmanship'. Tính đơn nhiệm không chỉ gói gọn trong lập trình hướng đối tượng mà còn tồn tại trong mọi mô típ lập trình.
Quan điểm từ Con Ếch Dưới Giếng
SOLID là các nguyên tắc thiết kế, nhưng nếu bạn chưa trang bị đủ kĩ năng và kinh nghiệm trong thiết kế phần mềm, việc tìm hiểu có thể trở nên khó khăn như việc con ếch dưới giếng cố gắng nhìn lên bầu trời. Như một con ếch nhận thức được rằng nó phải trèo lên khỏi giếng để thấy được bầu trời rộng lớn, bạn cũng cần nhận ra rằng việc học hỏi và tích lũy kinh nghiệm là một hành trình dài. Hãy bình tĩnh và từ từ trèo lên, và bạn sẽ thấy những điều mà bạn chưa bao giờ tưởng tượng nổi.
Bắt đầu với việc Đặt Tên Cẩn Thận
Một trong những phương pháp dễ nhất để đạt được tính Đơn Nhiệm trong mã nguồn là bắt đầu từ việc đặt tên. Tên của biến, hàm, lớp hay bất kỳ thành phần nào trong mã nguồn đều phản ánh rõ ràng vai trò của chúng. Hãy chắc chắn rằng những cái tên bạn đặt là rõ ràng, dễ hiểu và có tính Đơn Nhiệm.
Chẳng hạn, khi bạn gọi một biến là count
, điều này có thể gây nhầm lẫn khi biến này được sử dụng để đếm nhiều loại thực thể khác nhau. Thay vào đó, bạn nên đặt tên biến đó là userCount
, orderCount
hoặc pageCount
để phản ánh cụ thể hơn về vai trò của nó.
Đặt tên cho kết quả của hàm cũng rất quan trọng. Thay vì chỉ sử dụng result
, hãy xem xét đặt cho nó một cái tên ý nghĩa hơn, chẳng hạn như allUsers
hoặc activeUsers
. Việc này không chỉ giúp mã nguồn rõ ràng hơn mà còn tạo sự chắc chắn về yêu cầu của hàm.
Một trong những lỗi phổ biến trong lập trình là việc tạo ra những hàm quá tổng quát như getUsers(params)
, có thể dễ dàng bị mất kiểm soát. Nếu bạn tạo ra một hàm cụ thể hơn như getActiveUsers()
, điều này không chỉ làm giảm khả năng nhầm lẫn mà còn cải thiện tính đáng tin cậy trong mã nguồn của bạn.
Kết luận
Bất kỳ mã nguồn nào tốt đều được xây dựng trên nền tảng những cái tên tốt. Nếu bạn muốn đạt được các nguyên tắc SOLID trong lập trình, trước tiên bạn phải tập trung vào việc đặt tên. Điều này không chỉ giúp mã nguồn của bạn trở nên sạch sẽ và dễ hiểu hơn mà còn phản ánh sự sâu sắc trong tư duy lập trình của bạn. Hãy nhớ rằng, đặt tên là bước đầu tiên nhưng lại có ý nghĩa rất lớn trong hành trình trở thành một lập trình viên giỏi.
source: viblo