Một số nguyên tắc khi đặt tên trong lập trình
Trong lập trình, dù là ngôn ngữ lập trình nào thì khi đặt tên các thành phần trong chương trình (tên biến, tên hàm, tên lớp, tên file ...) bạn nên tuân thủ các nguyên tắc:
- Thống nhất: Nhất quán trong sử dụng từ mô tả về các khái niệm. Ví dụ truy vấn để lấy dũ liệu có thể viết phương thức có tên fetchData, getData, retrieveData ... nếu chọn sử dụng từ nào thì thống nhất áp dụng cho các đối tượng khác nhau.
- Ngắn gọn: Tên càng ngắn càng tốt
- Dễ hiểu, dễ đọc: Tên sử dụng các từ ngữ gần gũi cuộc sống, từ phổ biến dễ dàng tìm kiếm
- Súc tích: Tên mô tả chân thực được ý nghĩa, tác dụng, mục đích của nó.
- Tích cực: Dùng các từ tích cực thì tốt hơn như thay isDenied bằng isAllowed ...
Quy ước viết tên trong lập trình
Mỗi ngôn ngữ lập trình thường đề ra các quy ước khi viết định dạng tên, tuy không bắt buộc nhưng bạn nên tuân theo để dễ đọc và thống nhất trong hệ sinh thái của ngôn ngữ đó. Dưới dây là một số quy ước (kiểu) khi đặt tên (biến, hàm, lớp ...)
Nhập chuỗi tên để xem ở các định dạng khác nhau:
Kiểu | Ví dụ | Mô tả |
---|---|---|
Camel Case | xuanThuLabWebsite | Còn gọi là Camel Caps đây là định dạng viết tên phổ biến nhất trong lập trình. Tên gồm các từ bao giờ cũng viết hoa đầu từ đó ngoại trừ ký tự đầu tiên của tên. Mở rộng kiểu này là viết hoa cả ký tự đầu tiên thì gọi là Upper Camel Case, Captial Camel Case hay Pascal Case |
Pascal Case | XuanThuLabWebsite | Là trường hợp mở rộng của Camel Case, ký tự đầu tiên của tên có viết HOA |
Snake Case | xuan_thu_lab_website | Snake Case chi tách các từ trong tên bởi gạch dưới _
và hầu hết khi sử dụng các từ viết chữ in thường. |
Scream Case | XUAN_THU_LAB_WEBSITE | Scream Case hoặc Macro Case hay Scream Snake Case định dạng giống Snake Case với các từ viết chữ IN HOA |
Kebab Case | xuan-thu-lab-website | Các từ của tên nối với nhau bởi ký hiệu gạch ngang - và các từ viết in thường (giống với
snake case chỉ khác ký hiệu nối từ) |
Train Case | Xuan-Thu-Lab-Website | Train Case thì tên có các từ với ký tự đầu viết HOA và nối với nhau bởi - |
Cobol Case | XUAN-THU-LAB-WEBSITE | Cobol Case hay Creaming kebab case giống Kebab Case nhưng các từ in hoa |
Lower Case | xuanthulabwebsite | (Hạn chế dùng) |
Upper Case | XUANTHULABWEBSITE | (Hạn chế dùng) |
Title Case | XuanThuLabWebsite | (Hạn chế dùng) |
Sentence case | Xuanthulabwebsite | (Hạn chế dùng) |
Ada Case | Xuan_Thu_Lab_Website |
Ví dụ, quy ước trong một số ngôn ngữ lập trình
Python | C# | TypeScript | Java | PHP | |
---|---|---|---|---|---|
Hàm (phương thức) | snake_case() | PascalCase() | camelCase() | camelCase() | camelCase() |
class (lớp) | PascalCase | PascalCase | PascalCase | PascalCase | PascalCase |
interfaces | N/A | PascalCase | PascalCase | PascalCase | PascalCase |
namespace | N/A | PascalCase | PascalCase | PascalCase | PascalCase |
hằng số | snake_case | SCREAMINGSNAKECASE | SCREAMING_SNAKE_CASE | SCREAMING_SNAKE_CASE | UPPER_CASE |