Clean Code là gì?
1. Câu nói nổi tiếng về Clean Code
Donald Knuth đã từng nói rằng: "Thời gian viết mã chiếm một phần rất nhỏ trong tổng thời gian lập trình. Phần lớn thời gian được dành cho việc đọc, chỉnh sửa và bảo trì mã". Martin Fowler cũng nhấn mạnh tầm quan trọng của code sạch trong việc phát triển phần mềm.
2. Tại sao bạn nên quan tâm đến Clean Code?
Trong quá trình phát triển phần mềm, nhiều lập trình viên thường có những lý do để không chú ý đến việc viết mã sạch. Một số lý do phổ biến gồm:
- Chúng ta thường muốn phát triển tính năng nhanh chóng theo yêu cầu của cấp trên.
- Thiếu thời gian để suy nghĩ về quy tắc đặt tên hoặc cách viết mã tốt nhất.
- Thiếu động lực vì cảm thấy việc đó không cần thiết.
- Chỉ cần project chạy tốt là đủ, không quá quan tâm đến chất lượng mã.
Tuy nhiên, sau một khoảng thời gian (từ 3 tháng đến 1 năm), bạn có thể không còn nhận ra mã của mình nữa. Điều này sẽ dẫn đến:
- Khó khăn trong việc bảo trì mã.
- Việc thêm tính năng mới trở thành một thử thách về thời gian và dễ phát sinh lỗi.
- Đồng nghiệp phải luôn hỏi về ý nghĩa của các đoạn mã, dẫn đến cuộc tranh luận tốn thời gian.
✅ Clean Code đưa ra các kỹ thuật và phương pháp giúp mã nguồn dễ đọc hơn, qua đó làm tăng khả năng bảo trì. Khi mã được viết một cách rõ ràng và tường minh, quá trình phát triển phần mềm trở nên nhanh chóng và hiệu quả hơn, từ đó giảm thiểu thời gian giao tiếp giữa các thành viên trong đội ngũ.
3. Ba nguyên tắc cơ bản cho Clean Code
1. Công cụ phù hợp cho công việc
Bạn cần hiểu rõ ranh giới giữa các công nghệ và chọn đúng công cụ lập trình. Hiện nay, có nhiều ngôn ngữ lập trình như C#, Java, Go, Dart, cùng với các ngôn ngữ truy vấn dữ liệu như Postgres, MySQL, MongoDB,... Việc chọn công cụ chuẩn cho dự án là rất quan trọng. Ví dụ, sử dụng C# với Visual Studio hoặc Go với Goland có thể giúp tăng hiệu quả phát triển. Cần lưu ý rằng chỉ nên có một ngôn ngữ trong một tệp tin.
2. Tỷ lệ tín hiệu/nhiễu cao
Tín hiệu (Signal): Mã nguồn nên
- Ngắn gọn: Tránh việc tạo ra các class hoặc method quá dài. Mã ngắn gọn và dễ đọc giúp người lập trình cảm thấy thoải mái hơn khi tìm hiểu chức năng.
- Biểu cảm: Mã cần thể hiện được ý tưởng và cảm xúc của tác giả thông qua các bình luận, giúp người đọc dễ hình dung về chức năng của mã.
- Thực hiện một chức năng: Mỗi class/method chỉ nên phụ trách một trách nhiệm duy nhất theo nguyên tắc Single Responsibility.
Nhiễu (Noise): Mã nguồn cần tránh
- Mã phức tạp.
- Thụt lề lộn xộn.
- Code không còn sử dụng (Zombie code).
- Bình luận không cần thiết hoặc đã lỗi thời.
- Đặt tên kém cho class/method/variable.
- Class và method quá dài hoặc lặp lại mà không cần thiết.
- Không có khoảng trắng giữa các dòng mã.
Tỷ lệ tín hiệu/nhiễu cao là yếu tố quan trọng trong việc duy trì chất lượng mã.
3. Mã nguồn tự tài liệu hóa
Mã tốt và sạch sẽ phải có khả năng tự giải thích. Để làm điều này, mã phải đạt được các tiêu chí sau:
- Ý định rõ ràng.
- Định dạng dễ đọc.
- Các lớp cần phải rõ ràng và trừu tượng.
- Mã nên được ưu tiên hơn bình luận. Nếu mã của bạn đủ tốt, bạn có thể không cần bình luận nữa.
Cảm ơn bạn đã đọc bài viết này. Nếu bạn thấy nội dung hữu ích, hãy để lại một bình chọn và hẹn gặp lại trong các bài viết khác! 🚀
source: viblo