Go Code Review Comments
Dưới đây là bản dịch tiếng Việt kèm giải thích chi tiết:
[Go Code Review Comments (Bình luận khi review code Go)] Tài liệu tham khảo:
Việc tuân thủ chuẩn viết code sẽ giúp bảo trì mã nguồn dễ dàng hơn. Tuy nhiên, vì có quá nhiều quy tắc nên bộ tiêu chuẩn bắt buộc được đơn giản hóa thành 10 điểm sau:
✅ 10 Quy tắc bắt buộc trong viết code Go:
Tất cả các hàm/method được export (viết hoa chữ cái đầu) và các struct/interface tự định nghĩa cũng được export thì phải có chú thích (comment). → Comment phải mô tả chức năng của method, struct, interface đó.
Các đoạn code có logic phức tạp thì phải có chú thích rõ ràng, càng chi tiết càng tốt. → Để người khác đọc vào dễ hiểu, tránh bug khi maintain sau này.
Mỗi dòng code không được vượt quá 120 ký tự. → Giúp dễ đọc trên mọi IDE hoặc terminal, tránh phải cuộn ngang.
Mỗi hàm không được vượt quá 80 dòng. → Một hàm dài quá thì nên refactor thành các hàm nhỏ hơn.
Một file không được vượt quá 800 dòng. → Chia nhỏ ra nhiều file để dễ quản lý.
Độ phức tạp cyclomatic không được vượt quá 15. → Cyclomatic complexity là số đường đi có thể có trong hàm. Nếu > 15 thì cần refactor lại cho dễ test và dễ hiểu.
Độ sâu lồng nhau (nesting depth) không được vượt quá 4 tầng. → Tránh các khối
if
,for
,switch
lồng nhau quá nhiều.Code phải được format bằng công cụ
gofmt
. → Đảm bảo format chuẩn, dễ đọc, thống nhất với team.Tuân theo quy tắc đặt tên (bao gồm biến, hằng số, v.v...). → Ví dụ:
camelCase
cho biến local,PascalCase
cho export,ALL_CAPS
cho hằng số (tuỳ style guide).Nếu một "magic number" xuất hiện hơn 3 lần thì không được sử dụng trực tiếp. → Phải đưa vào một hằng số có tên rõ nghĩa. Tránh hard-code giá trị nhiều lần gây khó hiểu.
📝 Lưu ý:
Tất cả comment trong code phải viết bằng tiếng Anh.
Mặc dù chỉ có 10 quy tắc trên là bắt buộc, nhưng nên tuân thủ càng nhiều tiêu chuẩn càng tốt để code chuyên nghiệp hơn.
🔧 Khuyến nghị:
Cài đặt công cụ
golangci-lint
trên máy local, chạy kiểm tra trước mỗi lần commit code. Chỉ được commit nếu pass các quy tắc lint.
Last updated