cho em xin tích xanh với ạ
Trong lập trình chuyên nghiệp, việc đặt tên cho biến, hàm, và lớp là rất quan trọng để đảm bảo mã nguồn dễ đọc, dễ hiểu và dễ bảo trì. Dưới đây là một số tiêu chuẩn chung cho việc đặt tên:
1. Biến (Variables)
-
Camel Case: Sử dụng cho biến cục bộ hoặc biến trong phương thức. Từ đầu tiên viết thường, các từ tiếp theo viết hoa chữ cái đầu.
- Ví dụ:
studentName
,totalAmount
,isActive
.
- Ví dụ:
-
Snake Case: Thường dùng cho các biến toàn cục hoặc biến hằng.
- Ví dụ:
MAX_HEIGHT
,MIN_WIDTH
,global_variable
.
- Ví dụ:
2. Hàm (Functions/Methods)
-
Camel Case: Tương tự như biến, các hàm thường dùng Camel Case với chữ cái đầu của từ đầu tiên viết thường và các từ tiếp theo viết hoa chữ cái đầu.
- Ví dụ:
calculateTotal()
,getUserInfo()
,processData()
.
- Ví dụ:
-
Mô tả hành động: Tên hàm nên miêu tả hành động hoặc chức năng mà hàm thực hiện.
- Ví dụ:
sendEmail()
,validateInput()
,fetchData()
.
- Ví dụ:
3. Lớp (Classes)
-
Pascal Case: Viết hoa chữ cái đầu của tất cả các từ.
- Ví dụ:
Student
,OrderManager
,UserProfile
.
- Ví dụ:
-
Danh từ: Tên lớp nên là một danh từ hoặc một cụm danh từ vì lớp thường đại diện cho một thực thể.
- Ví dụ:
Invoice
,Car
,DatabaseConnection
.
- Ví dụ:
4. Giao diện (Interfaces)
- Pascal Case: Tương tự như lớp, nhưng thường bắt đầu bằng chữ “I”.
- Ví dụ:
IUserService
,IDatabaseConnection
,IShape
.
- Ví dụ:
5. Module và File
- Snake Case hoặc Kebab Case: Thường dùng cho tên file và module.
- Ví dụ:
user_profile.py
,order_manager.js
,data-processing.go
.
- Ví dụ:
6. Quy tắc chung
- Ngắn gọn và mô tả: Tên nên ngắn gọn nhưng đủ mô tả để người đọc có thể hiểu được ý nghĩa mà không cần đọc chi tiết bên trong.
- Tránh viết tắt không cần thiết: Chỉ sử dụng viết tắt khi chúng thực sự phổ biến và dễ hiểu.
- Tuân thủ quy ước của ngôn ngữ: Mỗi ngôn ngữ lập trình có những quy ước riêng, vì vậy nên tuân thủ theo các quy ước đó.
Ví dụ tổng quát
# Python
class Student:
def __init__(self, student_name, student_id):
self.student_name = student_name
self.student_id = student_id
def get_full_name(self):
return f"{self.student_name} (ID: {self.student_id})"
MAX_AGE = 100
min_height = 150
def calculate_average(grades):
total = sum(grades)
return total / len(grades)
// Java
public class Student {
private String studentName;
private int studentId;
public Student(String studentName, int studentId) {
this.studentName = studentName;
this.studentId = studentId;
}
public String getFullName() {
return studentName + " (ID: " + studentId + ")";
}
}
public interface IUserService {
void createUser(User user);
User getUserById(int userId);
}
Những quy tắc này không phải là cố định và có thể thay đổi tùy theo ngôn ngữ và phong cách của dự án. Tuy nhiên, việc tuân thủ các tiêu chuẩn này giúp mã nguồn trở nên nhất quán và dễ quản lý hơn.
giừ mới để ý quả link uy tín thật =)
uy tín ghê lun í -)))))