38 คะแนน โดย winterjung 2023-09-15 | 2 ความคิดเห็น | แชร์ทาง WhatsApp
  • ทีม Bank Salad ใช้งาน Go อย่างจริงจังมาเป็นเวลา 4 ปี และได้กำหนดข้อกำหนดการเขียนโค้ดขึ้นจากความผิดพลาดและการลองผิดลองถูกหลากหลายรูปแบบ

เอกสารที่ควรอ่านไว้

เอกสารแนวทาง convention และ best practices หลายฉบับที่แนะนำให้อ่านสักครั้ง

แนวปฏิบัติในการเขียนโค้ด

  • Don't panic
  • ฟังก์ชันที่อาจเกิด panic ควรใส่ prefix must / Panic vs Fatal
  • Panic safe goroutine / การรวบรวมผลลัพธ์ที่ concurrent safe
  • Error stacking / Error handling / Error logging
  • No named return
  • การตั้งค่า HTTP client / การนำ HTTP connection กลับมาใช้ซ้ำ
  • เมื่อต้องประกาศ slice ให้กำหนด len, cap / Nil slice vs Empty slice
  • Bool map และ struct{} map / ตรวจสอบ ok เมื่อ query map / Avoid map loop
  • ใช้ range เมื่อลูปกับสตริง / ความยาวของสตริง
  • ใช้ context.Background() แทน context.TODO()
  • นิยมใช้ Early return
  • ใช้ time.Duration / ไทม์โซน
  • Table-driven test / No monkey patch / Deterministic test
  • Avoid reflect
  • Functional options

สไตล์การเขียนโค้ด

เนื้อหาที่อธิบายไว้เป็นสไตล์ของทีม Bank Salad และแนะนำให้แต่ละองค์กรพิจารณาปรับใช้ตามบริบทของตน แทนที่จะทำตามทุกข้อแบบตรงตัว

  • ลำดับอาร์กิวเมนต์ของฟังก์ชัน
  • การตั้งชื่อฟังก์ชันทดสอบ
  • ลำดับการประกาศภายในไฟล์
  • ลำดับของ import
  • เอกพจน์ใช้ get พหูพจน์ใช้ list
  • หลีกเลี่ยงคำที่กำกวม
  • การตั้งชื่อ const
  • การตั้งชื่อแพ็กเกจ
  • โครงสร้างโปรเจกต์

2 ความคิดเห็น

 
zxgdot 2023-09-15

:woman_running:

 
secret3056 2023-09-15

อ่านบทความดี ๆ นี้อย่างเพลิดเพลินมากครับ ผมคิดว่าบริษัทสองแห่งในประเทศที่ใช้ Go ได้ดีที่สุดคือ BankSalad กับ AB180