Clean Code là chủ đề quan trọng trong lập trình, đặc biệt là khi phát triển các ứng dụng phức tạp. Viết code sạch giúp cho mã nguồn dễ đọc, dễ hiểu và dễ bảo trì hơn. Nó cũng giúp cho các nhà phát triển làm việc hiệu quả hơn và giảm thiểu số lỗi xảy ra trong quá trình phát triển. Trong bài viết này, chúng ta sẽ tìm hiểu về các nguyên tắc cơ bản của Clean Code và cách áp dụng chúng trong quá trình phát triển phần mềm.

Trước tiên, một vài nguyên tắc quan trọng nhất của Clean Code bao gồm:
- Đảm bảo mã nguồn được đơn giản hóa và dễ đọc. Điều này có nghĩa là phải tránh sử dụng quá nhiều biến, hàm và lớp không cần thiết và sử dụng các tên biến, hàm và lớp có ý nghĩa rõ ràng.
- Đảm bảo mã nguồn được đúng chuẩn, có thể tái sử dụng và dễ bảo trì. Điều này bao gồm việc sử dụng các thiết kế phần mềm chặt chẽ, sử dụng các mẫu thiết kế phổ biến và đảm bảo mã nguồn được viết theo các quy tắc chuẩn như PEP8 cho Python hoặc Java Code Conventions cho Java.
- Đòi hỏi các nhà phát triển phải có ý thức về việc giữ mã nguồn luôn trong tình trạng sạch và đẹp. Điều này có nghĩa là phải thường xuyên kiểm tra và làm sạch mã nguồn, loại bỏ các đoạn mã không cần thiết và đảm bảo rằng mã nguồn luôn được duy trì trong tình trạng tốt nhất có thể.
Với những nguyên tắc này, Clean Code là một phương pháp quan trọng để giúp các nhà phát triển tạo ra các ứng dụng chất lượng cao và dễ bảo trì. Chúng ta sẽ tìm hiểu thêm về các nguyên tắc cơ bản của Clean Code và cách áp dụng chúng trong quá trình phát triển phần mềm thông qua một vài quy tắc và ví dụ sau:
- Luôn đảm bảo rằng tên biến của bạn đặt đảm bảo đầy đủ ý nghĩa mô tả nhất có thể
Việc đặt tên biến là rất quan trọng trong việc đọc hiểu mã. Một số các quy tắc đặt tên có thể kể đến như:
- Nên sử dụng tiếng Anh khi đặt tên biến. Đa phần các ngôn ngữ lập trình đều có cú pháp là tiếng anh nên việc đặt tên bằng tiếng Anh sẽ giúp nhất quán code của bạn cũng như tính chuyên nghiệp cao
- Tên biến bắt đầu bằng chữ viết thường. Việc sử dụng chữ in hoa khi đặt tên biến đi ngược lại quy ước chung trong các ngôn ngữ lập trình, đó là sử dụng ký hiệu CamelCase ( quy ước đặt tên trong đó từ đầu tiên được viết thường và các từ tiếp theo được viết hoa).
- Cố gắng tránh lặp từ, viết tắt làm tối nghĩa của biến hoặc hàm
Đặt tên hàm kiểu A/HC/LC. Nghĩa là
prefix? + action (A) + high context (HC) + low context? (LC)

- Đặt tên hàm khởi đầu là một động từ như : get, set, fetch, remove, delete, create …
2. Không nên truyền quá ba tham số vào trong một hàm
Tuy không có một quy tắc bắt buộc nào nhưng chúng ta đang cố gắng viết hàm sao cho dễ đọc và dễ bảo trì, việc sử dụng quá 3 tham số chứng tỏ đó có thể là dấu hiệu cho thấy hàm của bạn đang thực hiện quá nhiều thứ và khó có thể được hưởng lợi từ việc tái cấu trúc. Nếu cần sử dụng nhiều hơn ba tham số, chúng ta có thể gửi một đối tượng hay mảng đến hàm và sử dụng các khóa hay vị trí của đối tượng hoặc hàm khi cần. Hãy xem đoạn mã sau nếu bạn cần gửi nhiều tham số vào một hàm.

3. Mỗi hàm nên thực thi duy nhất một nhiệm vụ

Đôi khi trong quá trình viết mã bạn có thể viết một hàm để xử lý nhiều hơn một nhiệm vụ, điều ấy có thể tiện lợi nhưng nó có thể khiến mã của bạn trở nên cồng kềnh, khó bảo trì khi trong dự án có kích thước vừa hoặc lớn.
4. Hàm nên súc tích, ngắn gọn, rõ ràng, không nên quá lớn
Nếu bạn cần thực hiện một hàm có nhiều dòng, bạn phải cân nhắc rằng có thể sử dụng một lớp (class) thay vì một hàm sẽ chính xác hơn. Hãy nhớ hàm của bạn chỉ phải nên thực thi một nhiệm vụ.

5. Chèn những dòng trống vào từng khối mã của bạn
Bạn nên sử dụng những dòng trống giữa các hàm với nhau cũng như giữa các biến và hàm. Điều này khiến mã dễ đọc vì có độ ngắt quãng vừa đủ giữa các dòng.

6. Cách comment sao cho chuẩn
Để comment sao cho clean code, bạn có thể tuân theo các nguyên tắc sau:
- Đừng comment những điều rõ ràng: Nếu một đoạn code đã được viết rõ ràng và dễ hiểu, không cần phải comment lại.
- Sử dụng các comment ngắn gọn: Comment nên được sử dụng để giải thích những điều quan trọng và khó hiểu. Hãy sử dụng các comment ngắn gọn và trực quan để giúp cho code dễ đọc hơn.
- Sử dụng các comment đầy đủ ý nghĩa: Nếu bạn cần comment, hãy viết các comment đầy đủ ý nghĩa và giải thích rõ ràng về những gì đang xảy ra trong code.
- Tránh sử dụng các comment không cần thiết: Không nên sử dụng các comment không cần thiết hoặc quá dài, chúng có thể làm cho code trở nên rối mắt và khó hiểu hơn.
- Comment theo chuẩn: Nếu team của bạn đã thiết lập chuẩn về cách comment code, hãy tuân theo chuẩn đó để giúp cho code dễ đọc và bảo trì hơn trong tương lai.

Tổng kết lại sau bài viết đầu tiên, clean code là một khái niệm quan trọng trong lập trình, giúp cho code dễ đọc, dễ bảo trì và dễ mở rộng hơn. Để viết clean code, chúng ta cần tuân theo các nguyên tắc đặt tên biến, sử dụng cấu trúc dữ liệu phù hợp, tách biệt logic và dữ liệu, sử dụng các hàm ngắn gọn và tách biệt chức năng, và sử dụng các comment đầy đủ ý nghĩa.
Viết clean code không chỉ giúp cho chúng ta dễ quản lý và bảo trì code mà còn giúp cho code có thể tái sử dụng được và giảm thiểu lỗi trong quá trình phát triển phần mềm. Chúng ta nên luôn cố gắng tuân thủ các nguyên tắc viết clean code để có thể viết ra những sản phẩm phần mềm chất lượng cao. Trong bài viết tiếp theo, mình sẽ cố gắng giới thiệu, cũng như trình bày những nội dung quan trọng hơn. Hãy đón xem nhé.
Giảng viên: Nguyễn Thị Loan
Bộ môn Công nghệ thông tin
Trường Cao đẳng FPT Polytechnic cơ sở Hà Nội

