Tiêu chuẩn đặt tên trong lập trình
posted on July 11, 2024, 8:04 p.m.

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.
  • 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.

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().
  • 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().

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.
  • 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.

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.

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.

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.


Comments
Nguyễn Minh Nguyên

tick xanh phế vlin

Đào Tuấn Khôi

Không nói t tưởng lam minh là tick xanh k ấy. Phế vlin. =)

Phan Anh Khang

ok vay a flaming gay dua tick xanh cho e di nao :)

Oi oi oi

doi cho e di a 🐧

Nguyễn Đại Quốc

giừ mới để ý quả link uy tín thật =)

Phan Minh Nhật

uy tín ghê lun í -)))))

Phan Đình Mạnh☠

cho em xin tích xanh với ạ

Nhân

như 1 vị tinh tú trên bầu trời

Oi oi oi

nhu 1 vi tinh tu jack lap lanh tren bau troi rong lon

Bình Minh

học k lo học lo xin tick xanh

Hoàng Phúc Nguyên

Tick xanh thì làm được gì anh

Nguyễn Đại Quốc

không phải mô, hấn khóa ko cho đổi tên đó =))

đang định đổi tên tự nhiên thấy quả tick xanh nhìn chán hết cứu

CNTT Hải Hòa

Cách tick chỉ là cái xác minh tài khoản. Giảng viên/học sinh nổi bật hoặc trong đội tuyển hay tổ chức đặc biệt thì được cấp bởi Admin.

Nguyễn Minh Đức

cho em hỏi là làm sao để có tick xanh ạ

Nguyễn Xuân Sang

xin admin ấy

Bình Minh

Xin cho mòn răng nma k có thì sao b

Nguyễn Xuân Sang

mình k biết, vì mình có r <(")

Bình Minh

có cần cái thông tin là bạn có r k bạn nhỉ

Bình Minh

học ngu k có đâu em

Phan Đình Mạnh☠