Code convention là gì? Những nguyên tắc cơ bản về code convention

Chất lượng của mã nguồn có thể được đánh giá dựa trên nhiều khía cạnh và tiêu chí khác nhau. Để đảm bảo tính nhất quán và dễ đọc của mã nguồn, không chỉ định dạng mà còn có sự tuân thủ các quy ước đặc thù cho từng ngôn ngữ lập trình và nền tảng cụ thể. Trong bài viết này cùng Techie tìm hiểu về code convention và những nguyên tắc chung khi viết code.

Code Convention là gì?

Code convention (hoặc còn gọi là coding convention) là một tập hợp các quy tắc, quy ước và hướng dẫn về cách viết mã nguồn trong một ngôn ngữ lập trình cụ thể. Mục tiêu của code convention là đảm bảo rằng mã nguồn được viết theo một cách nhất quán, dễ đọc, dễ hiểu và dễ bảo trì.

code convention la gi
Code convention là gì?

Thông thường, một code convention sẽ mô tả các thông tin sau:

  • Cách đặt tên biến (camel case: variableName, snake case: variable_name,…)
  • Kiểu thụt lề, độ rộng thụt lề, sử dụng tab hay space,…
  • Phương pháp đặt dấu ngoặc
  • Cách dùng khoảng trắng trong các biểu thức logic và số học
  • Cách viết comment cho code và tài liệu
  • Quy ước đặt tên class, tên file
  • Cách viết câu lệnh
  • Cách khai báo class và giao diện
  • Phương pháp tổ chức file

Tại sao nên sử dụng Code Convention?

  • Đọc và hiểu mã dễ dàng hơn: mã nguồn được viết theo một cấu trúc và định dạng nhất định giúp việc đọc và hiểu mã trở nên dễ dàng hơn, đặc biệt đối với những người mới tham gia dự án hoặc đọc mã của người khác.
  • Tăng khả năng đọc và hiểu mã: sử dụng đặt tên biến và hàm mô tả chính xác chức năng của chúng cùng với chú thích mã nguồn giúp việc đọc, hiểu và sử dụng mã dễ dàng hơn.
  • Tăng khả năng tái sử dụng mã: có thể tái sử dụng mã trong các dự án khác hoặc trong cùng một dự án, giúp tiết kiệm thời gian và công sức phát triển.
  • Nâng cao năng suất làm việc nhóm: hỗ trợ việc hợp tác và trao đổi mã nguồn một cách dễ dàng, đồng thời giảm thiểu các xung đột và tranh cãi không cần thiết liên quan đến cách viết mã.

Một số cú pháp thông dụng của Code Convention

Cú pháp lạc đà (Camel case) trong code convention

Camel Case là một quy tắc đặt tên trong đó các từ được liên kết với nhau và mỗi từ mới bắt đầu bằng một chữ cái viết hoa.
Quy tắc Camel Case thường được sử dụng để đặt tên biến và hàm trong nhiều ngôn ngữ lập trình như Java, JavaScript, C#, và Swift.

Ví dụ: firstName, calculateSum, lastName, rumLow(), get On Top(), firstName…

Cú pháp con rắn (Snake case)

Snake Case là một quy tắc đặt tên trong đó các từ được phân tách bằng dấu gạch dưới (underscore) và toàn bộ các chữ cái đều viết thường.
Quy tắc Snake Case thường được sử dụng trong nhiều ngôn ngữ lập trình như Python, Ruby, và PHP.

Ví dụ: this_is_the_name_follow_the _snake, MAX_SELECT, product_name, final_final1_final2…

nguyên tắc của code convention
Sự khác biệt giữa Camel case và Snake case

Cú pháp Pascal (Pascal case)

Pascal Case là một quy tắc đặt tên trong đó mỗi từ bắt đầu bằng một chữ cái viết hoa và không có ký tự đặc biệt hoặc dấu cách.
Quy tắc Pascal Case thường được sử dụng để đặt tên lớp và tên giao diện trong nhiều ngôn ngữ lập trình như Java, C#, và C++.
Ví dụ: MyClass, CarModel, CalculateSum…

ví dụ pascal case
Ví dụ về Pascal case

Tổng hợp những quy tắc chung khi viết Code

Quy tắc đặt tên (Naming Convention)

Cách đặt tên biến, tên file và tên hằng số là một yếu tố quan trọng để người đọc có thể hiểu mã nguồn mà bạn viết. Hiện nay, có ba quy tắc đặt tên phổ biến là camelCase, snake_case và PascalCase.

Bên cạnh việc tuân thủ cú pháp, có một số vấn đề nhỏ cần lưu ý. Thông thường, chúng ta sử dụng danh từ cho tên lớp và biến, và đặt động từ ở phía trước tên hàm. Nên thể hiện rõ từng chức năng của mã trong tên và tránh đặt các tên không có ý nghĩa cho các file mã nguồn. Khi viết code, hạn chế việc sử dụng viết tắt, vì nó làm cho người đọc khó hiểu và khó hình dung được ý nghĩa bạn muốn truyền đạt.

Quy tắc về số lượng

Quy tắc về số lượng trong việc viết code được đề cập trong bộ quy tắc của Oracle và cuốn sách “Refactoring in Large Software Projects: Performing Complex Restructurings Successfully” của tác giả Martin Lippert.

Theo quy tắc này, không nên viết quá 500 dòng cho mỗi lớp (class), và tối đa 30 dòng cho một hàm. Trong một hàm, nên giới hạn tối đa 5 tham số. Với mỗi câu lệnh, nên sử dụng tối đa 4 cấp và viết tối đa 80 ký tự trên một dòng mã.

Quy tắc bình luận

Không nên sử dụng bình luận để giải thích mã nguồn, mà nên áp dụng các quy tắc đặt tên để làm cho mã dễ hiểu hơn. Nếu bạn mới bắt đầu học lập trình, bạn có thể sử dụng bình luận để giải thích những đoạn mã phức tạp.

Lưu ý rằng bình luận chỉ nên giải thích tại sao, không nên chỉ dẫn cách thực hiện. Bạn nên bình luận sau khi hoàn thành một phần mã nào đó, không nên viết toàn bộ mã rồi mới bình luận.

Quy tắc xuống dòng

Theo quy tắc của Oracle, khi có một hàm lồng nhau, nên xuống dòng cho từng cấp một. Nên viết các đoạn mã cùng một cấp ở cùng một cột. Khi xuống dòng, nên bắt đầu ở cùng cấp với các dòng phía trên và nên xuống dòng trước các toán tử như *, -, ?, +…

Kết luận

Bằng cách áp dụng code convention có thể tạo ra mã nguồn chất lượng cao, dễ hiểu và dễ bảo trì. Điều này không chỉ giúp các nhà phát triển hiểu mã nguồn một cách nhanh chóng, mà còn tạo điều kiện thuận lợi cho việc làm việc nhóm và phát triển phần mềm một cách hiệu quả.

>> Xem thêm: Low-code là gì? Những kiến thức tổng quan về Low-code

Khám phá thêm
Temu, một ứng dụng mua sắm Trung Quốc, đang gây chấn động trên internet với những sản phẩm rất rẻ....
“Chúng ta đang sống trong thế giới VUCA” – Câu nói này đã diễn tả đúng tình trạng thế giới...
Trong bài viết này, Techie sẽ giới thiệu đến bạn bản chất của tính năng constraints và auto-layout figma, cũng...
Theo một “nguồn tin mật” cho hay, Ghibli chính thức công bố trailer phần tiếp theo của tựa phim Vùng...
Thuật toán Dijkstra là một công cụ quan trọng trong lý thuyết đồ thị và tối ưu hóa. Với khả...
Nếu như các ứng dụng hẹn hò như Tinder, Okcupid, Facebook Dating vẫn chưa đem đến cho bạn một anh...
Cảm biến sinh học (Biosensor) đã đánh dấu một thành tựu quan trọng trong cuộc chiến chống đại dịch COVID-19 khi...
Thời gian gần đây, công nghệ AI đang trở thành chủ đề được nhân loại đặc biệt quan tâm. Trên...