Clean code là gì?

Clean code là thuật ngữ để chỉ đến những mã nguồn tốt, có các đặc điểm:

  • Đơn giản: Giải quyết vấn đề ngắn gọn, không phức tạp hóa.
  • Trực tiếp: Giải quyết đúng vấn đề đang đề cập đến.
  • Dễ đọc: Giúp các lập trình viên khác có thể hiểu được ý nghĩa của từng dòng code dễ dàng.
  • Dễ cải tiến: Có thể mở rộng, thay đổi mà không gây ra nhiều lộn xộn cho mã nguồn.
  • Có unit test và acceptance: Đảm bảo mã nguồn chạy đúng với từng trường hợp.
  • Định danh tốt: Thể hiện đúng ý nghĩa từng thành phần.
  • Có ít sự phụ thuộc: Giúp thay đổi và mở rộng dự án dễ dàng hơn.
  • Không có mã nguồn trùng lặp.
  • Thể hiện được ý tưởng của thiết kế: Bảo đảm được đúng với ý tưởng thiết kế.

Tại sao chúng ta phải sử dụng Clean code?

Để đảm bảo mã nguồn có chất lượng tốt, giúp ích cho việc cộng tác nhóm, dễ dàng bảo trì và mở rộng hệ thống.

Một số yếu tố ảnh hưởng tới clean code

1 – Định danh: Biến, hàm, lớp, package phải ngắn gọn, thể hiện được ý nghĩa. Không đặt tên chung chung, khó hiểu.

Ví dụ:

Mã nguồn không tốt: a, x, data, get …

Mã nguồn tốt: nameStudent, getName …

2 – Hàm: Hàm không quá dài, làm nhiều nhiệm vụ, có nhiều tham số.

Ví dụ:

Mã nguồn không tốt:

int calculatorSum(int number1, int number2){}

Hàm trên đặt tên hàm không rõ ràng và có quá nhiều tham số.

Mã nguồn tốt:

int calculatorSum(int number1, int number2){}

Hàm trên đặt tên rõ ràng và có ít hơn 3 tham số.

Ghi chú: Không nên lạm dụng ghi chú quá nhiều, không đúng mục đích.

3 – Định dạng mã nguồn (Format): Như các khoảng cách lùi đầu dòng…

4 – Thiết kế, kiến trúc tồi: Khiến việc mở rộng, thay đổi khó khăn.

5 – Thiếu các bản kiểm thử: dẫn đến không đảm bảo được chất lượng mã nguồn ổn định.

Một số quy ước đặt tên nên biết: 

  • Tên biến, lớp:  Nên đặt tên là các danh từ, cụm danh từ hay tính từ.
  • Tên hàm: Nên bắt đầu bằng động từ.
  • Tên biến và hàm nên theo quy tắc camel Case: Ký tự đầu tiên viết thường, các ký tự đầu tiên của từ sau viết hoa.
  • Tên lớp nên theo quy tắc Pascal Case: Viết hoa hết các ký tự đầu tiên của chữ đó.

Ví dụ:

Biến: nameStudent, listNameStudent …

Lớp: Animal, Student, Persion, Dog…

Hàm: searchByName(), getName(), sortByPrice()…

Leave a reply:

Your email address will not be published.

Site Footer

Sliding Sidebar

Facebook