38 poin oleh winterjung 2023-09-15 | 2 komentar | Bagikan ke WhatsApp
  • Tim BankSalad telah aktif menggunakan Go selama 4 tahun, sambil mengalami berbagai kesalahan dan trial-and-error, lalu menetapkan konvensi coding ini.

Referensi yang layak dibaca

Berbagai panduan konvensi dan materi best practices yang direkomendasikan untuk dibaca setidaknya sekali

Praktik coding

  • Don't panic
  • Fungsi yang dapat memunculkan panic diberi prefix must / Panic vs Fatal
  • Panic-safe goroutine / Mengumpulkan hasil yang concurrent-safe
  • Error stacking / Error handling / Error logging
  • No named return
  • Pengaturan HTTP client / Reuse koneksi HTTP
  • Saat mendeklarasikan slice, atur len dan cap / Nil slice vs Empty slice
  • Bool map dan struct{} map / Cek ok saat lookup map / Avoid map loop
  • Gunakan range saat loop string / Panjang string
  • Gunakan context.Background() daripada context.TODO()
  • Sering gunakan early return
  • Gunakan time.Duration / Zona waktu
  • Table-driven test / No monkey patch / Deterministic test
  • Avoid reflect
  • Functional options

Gaya coding

Isi yang dijelaskan adalah gaya tim BankSalad, dan tiap item disarankan untuk dipertimbangkan sesuai kebutuhan masing-masing organisasi alih-alih diikuti mentah-mentah.

  • Urutan argumen fungsi
  • Penamaan fungsi test
  • Urutan deklarasi dalam file
  • Urutan import
  • Bentuk tunggal menggunakan get, bentuk jamak menggunakan list
  • Hindari kata yang ambigu
  • Penamaan const
  • Penamaan package
  • Struktur proyek

2 komentar

 
zxgdot 2023-09-15

:woman_running:

 
secret3056 2023-09-15

Saya menikmati membaca tulisan yang bagus ini. Saya rasa dua perusahaan di dalam negeri yang paling baik memanfaatkan Go adalah BankSalad dan AB180.