Quy tắc đặt tên trong lập trình và cách đặt tên chuẩn
Việc đặt tên trong lập trình rất quan trọng, rất nhiều thành phần trong lập trình đều phải đặt tên: Class, Function, Variable, Property,…
Trước đây, tôi có viết bài sử dụng BEM để đặt tên Class cho CSS. Đặt tên Class, Function, Variable, Property có những chuẩn đặt tên nào? Và nên chọn chuẩn nào cho hợp lý? Bài viết này tôi sẽ giúp bạn giải đáp thắc mắc này.
Trong lập trình có các chuẩn đặt tên nào?
Trong lập trình có 3 chuẩn đặt tên: PascalCase, camelCase, underscore. PascalCase mặc định đã là chuẩn đặt tên cho Class.
- PascalCase (Upper Camel Case): Đây là cách viết yêu cầu viết hoa chữ cái đầu tiên của mọi từ. Ví dụ:
$DayLaBien
- camelCase (Lower Camel Case): Viết hoa chữ cái đầu tiên của mọi từ. Chữ cái đầu tiên của cụm từ viết thường. Ví dụ:
$dayLaBien
- underscore: Tất cả các từ đều viết thường. Dùng dấu gạch dưới ngăn cách giữa các từ. Ví dụ:
$day_la_bien
Nên sử dụng chuẩn đặt tên nào?
Như chia sẻ ở trên, trong lập trình có 3 chuẩn đặt tên. Vậy lựa chọn chuẩn nào cho hợp lý? Tôi sẽ chia ra các trường hợp như sau:
Trường hợp 1: Sử dụng Framework, CMS
Trong trường hợp này thì rất đơn giản, bạn chỉ cần follow theo chuẩn của Framework, CMS đưa ra. Vì đa số các Framework, CMS đều có phần docs nói về phần này. Nếu bạn sử dụng Framework, CMS mà không có chuẩn hãy đọc trường hợp khác của tôi (Framework thì ít lắm, CMS thì có thể xảy ra)
Trường hợp 2: Sử dụng code thuần (Code của chính bạn)
Trong trường hợp bạn không sử dụng Framework, CSS để triển khai sản phẩm, hay nói cách khác gọi là “code thuần“. Chuẩn lúc này là của bạn, bạn thích thế nào thì nó thành thế.
Tôi xin gợi ý một số quy tắc, bạn có thể tham khảo:
- Class: Theo PascalCase (MyClass, ControllHome,…)
- Function, Method: Theo camelCase (getUser, getUserDetail,…)
- Variable: Theo camelCase ($userId, $postStatus,…)
- Constants: Viết hoa hết (WEB_HOST_ROOT, WEB_PATH_ROOT,…) hoặc thêm gạch dưới phía trước (_WEB_HOST_ROOT, _WEB_PATH_ROOT)
- Return về API (json, xml,…): tên theo chuẩn underscore
Kết luận
Việc đặt tên theo chuẩn này có thể không quan trọng nếu dự án đó chỉ mình bạn làm. Nếu bạn muốn dự án dễ bảo trì, phát triển và làm việc theo nhóm hãy đặt tên theo quy tắc.
Nếu có bất kỳ câu hỏi nào, hãy comment phía dưới bài viết này.