38 điểm bởi winterjung 2023-09-15 | 2 bình luận | Chia sẻ qua WhatsApp
  • Đội ngũ BankSalad đã sử dụng Go rất tích cực trong 4 năm, và đây là các quy ước lập trình được hình thành qua nhiều lỗi sai và quá trình thử nghiệm khác nhau.

Tài liệu nên đọc trước

Một số tài liệu về quy ước và best practices được khuyến nghị nên đọc qua một lần.

Thực hành lập trình

  • Don't panic
  • Với các hàm có thể gây panic thì gắn tiền tố must / Panic vs Fatal
  • Goroutine an toàn với panic / Thu thập kết quả an toàn khi concurrent
  • Error stacking / Error handling / Error logging
  • Không dùng named return
  • Cấu hình HTTP client / Tái sử dụng HTTP connection
  • Khi khai báo slice thì thiết lập len, cap / Nil slice vs Empty slice
  • Bool map và struct{} map / Khi tra cứu map thì kiểm tra ok / Avoid map loop
  • Khi lặp qua chuỗi thì dùng range / Độ dài chuỗi
  • Dùng context.Background() thay vì context.TODO()
  • Ưu tiên early return
  • Dùng time.Duration / Múi giờ
  • Test dạng bảng / No monkey patch / Deterministic test
  • Avoid reflect
  • Functional options

Phong cách lập trình

Nội dung được mô tả là phong cách của đội BankSalad; thay vì làm theo nguyên xi từng mục, nên cân nhắc điều chỉnh cho phù hợp với từng tổ chức.

  • Thứ tự tham số của hàm
  • Cách đặt tên hàm test
  • Thứ tự khai báo trong file
  • Thứ tự import
  • Số ít dùng get, số nhiều dùng list
  • Tránh từ ngữ mơ hồ
  • Cách đặt tên const
  • Cách đặt tên package
  • Cấu trúc dự án

2 bình luận

 
zxgdot 2023-09-15

:woman_running:

 
secret3056 2023-09-15

Bài viết rất hay, tôi đã đọc rất thích. Tôi nghĩ ở Hàn Quốc, hai công ty tận dụng Go tốt nhất là BankSalad và AB180.