Code convention hay quy ước viết code, là một bộ quy tắc và hướng dẫn chung mà các lập trình viên tuân theo để đảm bảo mã nguồn được viết một cách thống nhất. Mục đích chính là làm cho code dễ đọc, dễ hiểu, dễ bảo trì và hợp tác hơn trong các dự án. Trong bài viết này, mình sẽ giải thích code convention là gì, cũng như một số quy tắc chung khi viết code cho mọi ngôn ngữ lập trình.
Những điểm chính
- Định nghĩa Code Convention: Giúp code thống nhất, dễ đọc, dễ bảo trì, tăng hiệu suất làm việc nhóm.
- Lợi ích của Coding Convention: Giúp code dễ đọc, dễ bảo trì, từ đó giảm chi phí và thời gian quản lý dự án.
- Tổng quan Code Convention: Nắm vững các quy tắc đặt tên, xuống dòng, số lượng và comment để tạo ra mã nguồn “sạch” và dễ quản lý.
- Quy tắc chuẩn PHP: Nắm vững các chuẩn PSR-1 và PSR-2 giúp bạn viết code PHP chuyên nghiệp và nhất quán.
- Giải pháp VPS/Hosting Vietnix: Cung cấp môi trường ổn định, tốc độ và bảo mật, với tính năng sao lưu tự động giúp bạn an tâm phát triển ứng dụng.
- FAQ: Giải đáp toàn bộ vấn đề liên quan đến Code convention là gì.

Code Convention là gì?
Code convention là quy ước viết code bao gồm tập hợp những hướng dẫn và nguyên tắc chung khi lập trình như đặt tên biến, hàm, file, class, comment,… nhằm giúp cho code dễ đọc, dễ hiểu hơn vì vậy dễ bảo trì và sửa lỗi hơn.

Tiêu chuẩn viết code (coding standard) thường được công nhận và sử dụng bởi một nhóm các developer để chia sẻ code một cách thống nhất. Một ví dụ phổ biến của coding standard là tập hợp các quy ước được áp dụng trong các tài liệu của một ngôn ngữ lập trình. Lấy ví dụ tiêu biểu như ngôn ngữ C có tiêu chuẩn K&R, tiêu chuẩn của Microsoft về C# hay tiêu chuẩn cho Java của Oracle,…
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 Coding Conventions?
Vậy lý do các developer cần sử dụng coding convention là gì? Có từ 40 đến 80% chi phí của một dự án phần mềm là dành cho việc bảo trì, và việc tuân theo những tiêu chuẩn nhất định giúp code dễ đọc hơn, từ đó quá trình bảo trì và quản lý code cũng được thực hiện nhanh chóng và dễ dàng hơn.

Những lợi ích mà Coding Convention mang lại:
- Đẩy cao năng suất làm việc nhóm nhanh hơn.
- Quy tắc hoạt động của Code Convention theo tính thống nhất và tuân thủ theo tiêu chuẩn sẽ giúp bạn dễ dàng làm việc hơn.
- Khi viết Code bằng Code Convention, sẽ khiến người khác dễ hiểu và nắm bắt được cái mà bạn truyền tải đến.
- Phần mềm Code Convention dễ dàng nâng cấp và được cải tiến.
- Code Convention có thể tái sử dụng trong nhiều phần mềm và các ứng dụng khác.
- Việc bảo trì hệ thống với Code Convention trở nên thuận lợi và dễ dàng hơn bao giờ hết.
Bên cạnh đó, việc thống nhất code sẽ giảm thiểu tối đa các lỗi liên quan đến logic hay bảo mật, đôi khi còn có thể giúp đảm bảo hiệu năng của phần mềm và website.
Sau khi đã biết được tầm quan trọng của việc tuân theo các quy tắc khi viết code, phần cuối cùng của bài viết sẽ giúp người đọc biết được những quy tắc chung trong code convention là gì.
Nếu bạn cần một môi trường đáng tin cậy để triển khai ứng dụng, dịch vụ máy chủ ảo tốc độ cao của Vietnix là lựa chọn hoàn hảo. Với các gói VPS AMD hiệu suất cao, bạn sẽ có toàn quyền quản trị, cài đặt hệ điều hành và ứng dụng tùy ý. Vietnix cam kết về tính ổn định, bảo mật và khả năng mở rộng nhanh chóng, giúp bạn an tâm tập trung vào công việc.

VPS AMD Tốc độ cao – Hiệu năng vượt trội
VPS lý tưởng để bạn thử nghiệm, tối ưu, vận hành các dự án hiệu suất cao
Tổng hợp những quy tắc chung khi viết Code Convention
Quy tắc chung để viết code “sạch”
- Suy nghĩ đơn giản và viết code đơn giản nhất có thể.
- Luôn dọn code sạch hơn lúc ta nhận nó lần đầu, dù là của mình hay của ai khác.
- Luôn tìm ra nguyên nhân gốc rễ của vấn đề.

Quy tắc đặt tên
Cách đặt tên những định danh (bao gồm các biến, hằng số, class,…) cũng có ảnh hưởng không nhỏ đến khả năng đọc hiểu code. Hãy tưởng tượng một phần mềm khổng lồ như Windows nhưng mỗi hàm số chỉ được đặt tên như a, b, c, function1, function2
,… thì chắc chắn việc quản lý và bảo trì code là vô cùng khó khăn.
Có ba quy tắc đặt tên phổ biến là camelCase, PascalCase và snake_case. Cụ thể:
- Camel case: Từ đầu tiên trọng cụm từ được viết thường, những ký tự còn lại thì viết hoa, áp dụng cho tên hàm, tên biến và tên phương thức. Ví dụ:
firstName, lastName, getName(), findMember()
,… - Pascal case: Viết hoa ký tự đầu tiên của tất cả từ có trong cụm, thường áp dụng cho tên class hay tên biến. Ví dụ:
MickeyMouse, FirstName
,… - Snake case: Toàn bộ chữ cái đều viết thường, phân tách nhau bằng dấu “_”, thường dùng cho tên hằng số hoặc tên của chương trình. Ví dụ:
program_final, get_max()
,…

Một số quy tắc chung trong việc đặt tên:
- Đặt tên không mơ hồ, mô tả đúng chức năng của định danh.
- Không nên dùng tên viết tắt.
- Tên class và tên biến thường sử dụng danh từ.
- Tên hàm thường dùng động từ.
- Không nên sử dụng magic number (dùng số trực tiếp trong code) mà nên đặt tên riêng cho hằng số. Ví dụ:
// ❌
if (gender === 0) { }
else if (gender === 1) { }
else { }
// ✅
const MALE = 0;
const FEMALE = 1;
if (gender === MALE) { }
else if (gender === FEMALE) { }
else { }
Quy tắc về số lượng
Một số quy tắc về số lượng trong cuốn sách Clean Code A Handbook of Agile Software Craftsmanship của Robert C. Martin, quyển Refactoring in Large Software Projects: Performing Complex Restructurings Successfully của Martin Lippert cũng như bộ quy tắc của Oracle có ghi như sau:
- Một dòng Code không nên dài quá 80 ký tự.
- Một câu lệnh nên lồng tối đa 4 cấp.
- Một hàm không nên chứa quá 5 tham số.
- Một hàm không nên quá 30 dòng.
- Một class không nên vượt 500 dòng,…
- Mỗi hàm chỉ nên làm duy nhất một việc, nếu thực hiện hai mục đích khác nhau thì tên hàm cần thể hiện rõ điều này. Ví dụ:
increaseDonwnloadCounterAndSaveToDatabase
.
Quy tắc xuống hàng
Theo bộ quy tắc của Oracle:
- Nếu một hàm có nhiều cấp lồng nhau, mỗi cấp nên xuống dòng.
- Các đoạn code bằng cấp nên ở cùng một cột với nhau, dòng xuống hàng nên bắt đầu cùng cấp với dòng phía trên.
- Xuống hàng trước các toán tử (ví dụ như +, -, *, ?,…).
Ví dụ:
someMethod(longExpression1, longExpression2, longExpression3,
longExpression4, longExpression5);
var = someMethod1(longExpression1,
someMethod2(longExpression2,
longExpression3));
longName1 = longName2 * (longName3 + longName4 - longName5)
+ 4 * longname6; // PREFER
longName1 = longName2 * (longName3 + longName4
- longName5) + 4 * longname6;
Quy tắc comment
- Hạn chế dùng comment để giải thích code hoặc chú thích những sự thật hiển nhiên. Ví dụ:
/**
* Hàm thêm role vào database.
*/
function addRole(role) {
db.roles.add(role);
}
- Không comment khi đóng thẻ/ngoặc:
<!DOCTYPE html>
<html lang="en">
<!-- mở head -->
<head>
...
</head>
<!-- kết thúc head -->
<!-- mở body -->
<body>
...
</body>
<!-- kết thúc body -->
</html>
- Xoá code không dùng, đừng comment out đoạn code đó.
- Comment cảnh báo hậu quả.
- Comment làm rõ ý nghĩa của code (nếu logic phức tạp).
Các quy tắc chuẩn khi viết code PHP là gì?
Để tối ưu hóa hiệu suất và tính tổ chức của code, việc áp dụng các tiêu chuẩn như PSR-0 và PSR-4 là điều không thể thiếu. Hai tiêu chuẩn này đặt ra các quy tắc chặt chẽ cho cơ chế tự động nạp class (autoloading) trong PHP. Theo đó, mọi namespace và class đều phải tuân thủ một cấu trúc định sẵn.
Cụ thể, mỗi class đều cần được định danh bằng một namespace, bao gồm một namespace chính (root namespace) và các namespace con tùy theo kiến trúc. Yêu cầu khai báo namespace đã trở thành một phần thiết yếu của ngôn ngữ PHP kể từ phiên bản 5.3, giúp các dự án trở nên dễ quản lý và mở rộng hơn.

Chuẩn PSR-1: Các chuẩn cơ bản
Để phát triển các dự án PHP chuyên nghiệp và bền vững, việc áp dụng các tiêu chuẩn mã hóa là điều bắt buộc. Toàn bộ mã nguồn phải được gói gọn trong cặp thẻ <?php ... ?>
, và nên dùng cú pháp <?= ... ?>
thay vì echo
để rút ngắn code. Về mã hóa ký tự, tệp phải được lưu dưới định dạng UTF-8 không BOM để tránh các sự cố đầu ra.
Việc quản lý các class và thư mục nên dựa trên chuẩn PSR autoloading thông qua việc định nghĩa Namespace. Tên của các class nên tuân theo quy tắc PascalCase, trong khi hằng số được viết bằng chữ in hoa kèm theo dấu gạch dưới để dễ nhận diện. Cuối cùng, cần thiết kế kiến trúc theo nguyên tắc Single Responsibility Principle (SRP), đảm bảo mỗi tệp PHP chỉ chịu trách nhiệm cho một chức năng cụ thể, loại bỏ sự chồng chéo và phức tạp.
Chuẩn PSR-2: Chuẩn viết code
Để tối ưu hóa chất lượng và tính dễ đọc của mã nguồn, mọi lập trình viên cần tuân thủ nghiêm ngặt các tiêu chuẩn mã hóa. Cụ thể, bạn cần tuân thủ chuẩn PSR-1 & PSR-0. Về định dạng, bắt buộc phải dùng 4 ký tự space để thụt lề thay vì tab. Chiều dài dòng code nên nhỏ hơn hoặc bằng 80 ký tự, và không vượt quá 120 ký tự, đồng thời loại bỏ các khoảng trắng thừa ở cuối mỗi dòng.
Các quy tắc cú pháp cũng rất quan trọng: đặt một space sau từ khóa namespace
và use
. Cặp dấu ngoặc nhọn {}
của các khối code phải được đặt trên cùng một dòng và có space trước dấu ngoặc mở. Khi khai báo chuỗi, hãy sử dụng dấu nháy đơn '...'
nếu không có biến, và dấu nháy kép "..."
nếu có. Khi sử dụng các từ khóa abstract
, final
hoặc static
để định nghĩa phương thức, cần tuân thủ thứ tự khai báo chuẩn. Cuối cùng, luôn thêm một khoảng trắng trước và sau các toán tử, và khi ép kiểu, cần có một khoảng trống để phân tách kiểu dữ liệu và biến.
An tâm code, bảo mật dữ liệu: Giải pháp Hosting và VPS từ Vietnix
Với kinh nghiệm lâu năm trong lĩnh vực VPS và hosting, Vietnix mang đến một môi trường đáng tin cậy cho các lập trình viên. Các dịch vụ của Vietnix luôn chú trọng vào tốc độ, bảo mật và ổn định, giúp bạn an tâm triển khai và thử nghiệm các mô hình, ứng dụng sau khi viết code.
Đặc biệt, Vietnix có chính sách bảo vệ dữ liệu tối ưu với những ưu điểm sau:
- Sao lưu tự động và miễn phí: Hệ thống tự động sao lưu dữ liệu của bạn mỗi tuần một lần hoàn toàn miễn phí.
- Khôi phục dễ dàng: Bạn có thể tự khôi phục dữ liệu từ bản backup bất cứ lúc nào thông qua giao diện quản trị.
- An toàn tuyệt đối: Các bản sao lưu được lưu trữ trên một máy chủ độc lập, đảm bảo an toàn ngay cả khi máy chủ chính gặp sự cố.
Lựa chọn Vietnix, bạn sẽ có một nền tảng vững chắc để tập trung hoàn toàn vào việc phát triển sản phẩm của mình.
Thông tin liên hệ:
- Website: https://vietnix.vn/
- Hotline: 1800 1093
- Email: sales@vietnix.com.vn
- Địa chỉ: 265 Hồng Lạc, Phường Bảy Hiền, Thành Phố Hồ Chí Minh
Câu hỏi thường gặp
Không cần sử dụng Code Convention để có thiết viết code được không?
Câu trả lời là Có. Lập trình chỉ cần viết code theo đúng quy tắc thi code vân hoạt động bình thường. Tuy nhiên, trong trường hợp phần mềm cần được nâng cấp, bảo trì hoặc tìm và sửa lỗi sai thì sẽ gặp nhiều khó khăn hơn là sử dụng Code Convention.
Viết code không cần theo quy tắc được không?
Câu trả lời là Có. Lập trình viên viết code mà không theo quy tắc thụt đầu dòng, khoảng cách nào hay đặt tên thì code đó vẫn chạy bình thường. Có điều, trong thời gian sau có thể bạn sẽ không nhớ bạn đã viết gì. Điều này sẽ gây khó khăn cho bạn đấy nhé!
Nên tìm hiểu thêm quy tắc viết code ở đâu?
Nếu bạn muốn tìm hiểu thêm về quy tắc viết code, bạn có thể lên Google hoặc Bing tìm kiếm từ khóa: Code Convention hoặc Coding Convention. Kết quả trả về sẽ là các bài đọc về tiếng Anh, do đó bạn có thể dịch tự động về tiếng Việt trên trình duyệt của mình.
Coding Convention Java nghĩa là gì?
Coding Convention trong Java bao gồm:
– Quy tắc Negative Space (White Space): thụt đầu dòng và dòng trống.
– Quy tắc ngoặc nhọn hoặc ngoặc tròn.
– Quy tắc bình luận (comment).
– Quy tắc đặt tên bao gồm quy tắc viết hoa, đặt tên interface, abstract class, class, hàm, biến…
– Việc sử dụng variables.
– Sử dụng thư viện…
Nên tìm hiểu thêm quy tắc viết code JavaScript ở đâu?
Nếu bạn muốn biết cụ thể hơn về quy tắc viết code trong JavaScript, thì bài viết và bài tập vận dụng JavaScript Coding Convention của W3School là một trang phù hợp để bạn vừa học tập và rèn luyện nhé. Hoặc bạn có thể truy cấp theo địa chỉ website: https://www.w3schools.com/js/js_conventions.asp
Coding Convention C# nghĩa là gì?
Coding Convention trong ngôn ngữ lập trình C# bao gồm:
– Quy tắc viết hoa như: Pascal case, uppercase, camelcase,...
– Phương thức tổ chức file trong một dự án: thư mục source code C#, File source code c#,...
– Quy tắc dùng để đặt tên biến như đặt tên: class, namespace, attribute, interface, enumeration,…
Nên tìm hiểu thêm clean code ở đâu?
Clean code là một mã nguồn “sạch” bao gồm: các thức tổ chức mã nguồn, cách triển khai mã nguồn sao cho khoa học, dễ hiểu và đồng thời mang lại hiệu suất cao cho các chương trình cụ thể.
Clean Code có khả năng giúp bạn làm việc với phần mềm trơn tru, nhanh nhạy hơn. Bạn có thể tái sử dụng Code của mình để phục vụ phát triển cho nhiều dự án khác cùng nhiều lợi ích khác.
PSR coding convention là gì?
PSR (PHP Standard Recommendations) là một bộ tiêu chuẩn về phong cách và cách thức viết code PHP, được đề xuất bởi cộng đồng PHP Framework Interoperability Group. PSR giúp đảm bảo sự đồng nhất và khả năng tương thích giữa các dự án PHP.
Coding convention Python là gì?
Chuẩn mực cho Python là PEP 8 (Python Enhancement Proposal 8). Đây là tài liệu hướng dẫn về phong cách lập trình Python, bao gồm các quy tắc về đặt tên, thụt lề, độ dài dòng, và tổ chức code.
Coding Standard là gì?
Coding Standard là thuật ngữ đồng nghĩa với “Code Convention”. Nó đề cập đến một bộ quy tắc chi tiết và được hệ thống hóa để hướng dẫn cách viết code, nhằm đảm bảo chất lượng, tính nhất quán và khả năng bảo trì của mã nguồn.
Tóm lại, code convention là gì không chỉ đơn thuần là một bộ quy tắc về định dạng mà là một triết lý làm việc. Việc tuân thủ các quy ước chung như PSR sẽ giúp mã nguồn của bạn trở nên chuyên nghiệp, dễ đọc và dễ bảo trì hơn bao giờ hết. Đây là yếu tố then chốt để các dự án phát triển nhanh chóng và hiệu quả, đặc biệt khi làm việc nhóm. Áp dụng code convention chính là cách bạn thể hiện sự tôn trọng với đồng nghiệp và với chính sản phẩm của mình, biến code từ một tập hợp các dòng lệnh rời rạc thành một ngôn ngữ chung dễ hiểu.