Series Clean Code – Phần 1: Clean code là gì? Clean code tiếng Việt
Nếu bạn theo dõi blog thì những bài như YANGI, DRY là gì? (Nguyên tắc YANGI, DRY trong Java), KISS PRINCIPLE (Nguyên tắc KISS Trong JAVA)… cũng đang nói về clean code.
Vậy clean code là gì? và lợi ích của nó như thế nào?
1. Clean Code là gì?
Ngoài lề một chút, ở trong lĩnh vực hội họa có khá nhiều bức tranh được bán với giá hàng triệu đô trong khi nhiều người (trong đó có mình 🙄 ) nhìn nó chả ra làm sao, chẳng khác tờ giấy mà trẻ con tô linh tinh là mấy.
Bỏ qua tính hiếm, tính lịch sử thì theo như mấy ông nghệ sĩ, hoa sĩ giải thích rằng nó có tính trừu tượng, nghệ thuật… mà phải có kiến thức bạn mới hiểu được nó, thấy được vẻ đẹp của nó.
Nghĩ đi nghĩ lại, đá sang lập trình thấy nó cũng đúng, người không hiểu nhìn vào code thì ko biết nó đẹp hay xấu nhưng với lập trình viên, người có kinh nghiệm thì sẽ thấy được đâu là code đẹp/sạch, đâu là code xấu/dở.
Vậy Clean Code là gì?
Clean Code dịch sang tiếng việt là code sạch, vậy code sạch là gì? tức là code không xấu =))
Về hình thức thì Clean Code thể hiện như sau:
- Cách trình bày code: cách căn lề, sử dụng tab, space… sao cho dễ đọc, dễ nhìn
- Cách đặt tên biến, hàm, class có theo coding convention không
- Cách phân phối lượng code (số dòng code trong file, số dòng code trong 1 method…)
Về nội dung:
- Cách đặt tên hàm tên biến phải dễ hiểu
- Cách viết comment cho code, khi nào cần viết comment, khi nào không
- Thiết kế xây dựng cấu trúc của đối tượng (Object) dữ liệu để dễ sử dụng, mở rộng
- Cách xử lý ngoại lệ (Exception) có ổn không.
- Khả năng maintain, mở rộng của code…
- …
Có mấy cái gạch đầu dòng thôi, thấy khó nhưng mà khó phết. Bản thân lập trình viên nào mới đi làm mà được senior review code sẽ phát hiện rất nhiều vấn đề liên quan tới clean code.
2. Review sách “Clean Code” – Robert C. Martin
Tên đầy đủ: “Clean Code: A Handbook of Agile Software Craftsmanship” – Tác giả Robert C. Martin
Đây có thể là một cuốn sách kinh điển về lập trình mà mọi developer nên đọc.
Đúng như tên sách, cuốn sách này hướng dẫn lập trình viên cách viết code sạch (cách đặt tên hàm, biến, refactor code, khi nào thì sử dụng comment, độ dài method…)
Đặc biệt các ví dụ trong sách này đều sử dụng ngôn ngữ Java tiện cho cách anh em đang sử dụng Java. (Cuốn sách này viết chung cho lập trình chứ không phải cho riêng Java)
Clean Code là gì? Clean code tiếng Việt
Nhân tiện tổng hợp lại kiến thức và viết bài mình sẽ tóm tắt lại các mục trong sách này lấy các ví dụ.
(suggest là anh em nên đọc bản gốc, gõ “clean code pdf” vào google là nó ra liền, có điều kiện thì mua sách ủng hộ tác giả nhưng ở Việt Nam mà mua sách này cũng khó)
Clean Code là gì? Clean code tiếng Việt
Chương 1: Clean Code
Chương 2: Meaningful names
Chương 3: Functions
Chương 4: Comment
Chương 5: Formatting
Chương 6: Objects and Data Structures
Chương 7: Error Handling
Chương 8: Boundaries
Chương 9: Unit tests
Chương 10: Classes
Chương 11: Systems
Chương 12: Emergency
Chương 13: Concurrency
Chương 14: Successive Refinement
Chương 15: JUnit Internals
Chương 16: Refactoring SerialDate
Chương 17: Smells and Heurestics