Nếu bạn là lập trình viên thì chắc chắn đã từng nghe đến khái niệm Clean Code cũng như cuốn sách Clean code của Robert Martin. Thậm chí với nhiều người đây là cuốn sách gối đầu giường không thể thiếu.
Trước bài viết này cũng có rất nhiều bài dịch sách clean code sang tiếng việt. Tuy vậy ở một góc độ nào đó thì cũng có những phần chưa được mạch lạc và dễ hiểu. Trong Seri bài viết này CodeTuTam sẽ giới thiệu tới các bạn chuỗi bài viết Clean Code dựa trên cuốn sách cùng tên của tác giả Robert Martin.
Nếu bạn có điều kiện, bạn nên mua sách ủng hộ tác giả nhé. Thứ nữa đọc tiếng anh cũng sẽ mang lại cho bạn một góc nhìn toàn diện hơn.
Cuốn sách này nói về vấn đề gì vậy?
Clean code theo cách dịch word by word nghĩa là Code sạch / mã sạch. Đúng như tên gọi của cuốn sách, Nội dung cuốn sách sẽ xoay quanh việc làm sao để chúng ta có thể viết mã sạch sẽ, dễ hiểu, dễ nâng cấp và bảo trì về sau.
Cuốn sách sẽ đề cập đến nhiều vấn đề xung quanh việc lập trình cụ thể như
- Đặt tên ý nghĩa
- Cách viết hàm
- Các viết comment
- Format code
- Đối tượng và cấu trúc dữ liệu
- Xử lý lỗi
và nhiều phần khác nữa,
Trong seri bài viết này sẽ đi vào các phần chính yếu cơ bản nhất. Điều này đảm bảo bất kì bạn nào, dù mới hay đã học lập trình đều thu nhập được kiến thức nhất định.
Các ví dụ trong cuốn sách hoàn toàn được viết bằng Java. Do vậy nếu có một chút kiến thức về Java bạn sẽ dễ hiểu hơn về clean Code. Nhưng nếu không rành, bạn cũng hãy yên tâm, mình sẽ cố gắng diễn giải dễ hiểu nhất có thể.
Clean Code có thực sự cần thiết?
Cũng có nhiều ý kiến cho việc này có người thì đồng tình và có người thì phản đối. Đại loại một số ý kiến như là: Code thì ai chẳng code được, code kiểu gì mà chẳng chạy được chứ.
Điều này cũng hoàn toàn đúng, chẳng hạn như là dự án mà làm 1 lần và không bao giờ quay trở lại. Tuy vậy thì cuộc đời không như mơ, hiếm khi dự án nào làm xong và vứt đó cả…
Và cũng đôi khi chúng ta lại ăn hành từ những dự án mà dev trước đó cũng nghĩ rằng – code cho chạy cái đã…
Có rất nhiều lý do để chúng ta tạo ra những mã nguồn không được sạch sẽ. Mà lý do thường nghe thấy nhất là thời gian gấp, áp lực từ quản lý, khách hàng hay như là tạm thời thế đã rồi sửa sau…
Đúng như cái việc rồi sẽ sửa sau, thì gần như chúng ta chả bao giờ động lại đống code đó nữa, trừ trường hợp bắt buộc.
Nhưng khoan đã…
Vậy đã khi nào bạn phải nâng cấp, maintain, tối ưu lại mã nguồn có sẵn và ngao ngán khi nhìn đống code đó? Và rồi như 1 lẽ thường một đoạn code rác được thêm vào. Đến một ngày chính bạn cũng cảm giác không thể nào phát triển dự án đó thêm nữa?
Đó chính là lúc bạn sẽ cảm nhận được độ cần thiết của việc tạo lập mã nguồn gọn gàng sạch sẽ – clean code.
Tóm lại cho phần này thì, Clean code là luôn cần thiết cho mọi chương trình. Dù cho chương trình đó bạn có xác định dùng 1 lần việc tạo lập mã nguồn sáng sủa cũng tạo ra thói quen đáng kể cho công việc của bạn sau này.
Clean code không dành cho người mới bắt đầu?
Đâu đó sẽ có những ý kiến kiểu kiểu như: “Phải có gì đó rồi mới clean được chứ, giờ chưa có kiến thức gì clean sao được”. Nghe cũng hợp lý nhưng với mình hoàn toàn không chính xác.
Đằng nào cũng phải viết code sạch sẽ đẹp đẽ tại sao chúng ta không bắt đầu từ sớm? Chẳng phải khi thói quen hình thành sớm thì dù sau có muốn viết code lởm đi chăng nữa cũng khó sao?
Vậy nên đừng băn khoăn bạn mới học code hay đã làm lâu rồi. Clean code là điều cần thiết và không chỉ dành cho riêng ai. Hãy bắt đầu ngay khi có thể.
Ebook Clean code tiếng việt
Như đã đề cập từ đầu, trong seri bài viết này mình sẽ nói về một phần trong cuốn sách Clean Code bằng tiếng việt. Mình sẽ cố gắng viết và diễn giải trên ý hiểu của mình để mọi người cùng có thể nắm bắt ý tưởng. Tuy vậy nếu bạn nào muốn tìm hiểu nội dung nguyên gốc cũng thì có thể tải ở link dưới đây:
Đừng ngại ngần comment nếu có bất kì phần nào bạn chưa rõ. Mình không chắc sẽ giúp bạn được hoàn toàn nhưng có thể cùng nhau hỗ trợ tiến bộ thì tại sao lại không nhỉ?
Clean code gồm có.
*Chương 1: Tổng quan
Tổng quan về clean code (phần 1)
Tổng quan về clean code (phần 2)
*Chương 2: Đặt tên
Đặt tên trong clean code (phần 1)
Đăt tên trong clean code (phần 2)
*Chương 3: Function
Function trong clean code (phần 1)
Function trong clean code (phần 2)
Các bài viết sẽ liên tục được bổ sung vào anh em cố gắng theo dõi nhé.
Tổng kết
Mình không có nhiều kinh nghiệm trong việc dịch sách do vậy sẽ không tránh khỏi những sai sót. Trong quá trình đọc và tìm hiểu nếu có vấn đề các bạn góp ý để cùng hoàn thiện nhé.