38 puntos por winterjung 2023-09-15 | 2 comentarios | Compartir por WhatsApp
  • El equipo de Banksalad ha usado Go activamente durante 4 años y fue definiendo esta convención de código mientras pasaba por diversos errores y pruebas y errores.

Materiales recomendados para leer

Varios documentos de guías de convención y best practices que recomiendan leer al menos una vez.

Prácticas de código

  • Don't panic
  • A las funciones que pueden hacer panic, ponerles prefijo must / Panic vs Fatal
  • Panic safe goroutine / Recolectar resultados de forma concurrent safe
  • Error stacking / Error handling / Error logging
  • No named return
  • Configuración de HTTP client / Reutilización de conexiones HTTP
  • Al declarar slices, configurar len y cap / Nil slice vs Empty slice
  • Bool map y struct{} map / Verificar ok al consultar un map / Avoid map loop
  • Usar range al iterar strings / Longitud de strings
  • Usar context.Background() en lugar de context.TODO()
  • Usar mucho early return
  • Usar time.Duration / Zona horaria
  • Table-driven tests / No monkey patch / Deterministic test
  • Avoid reflect
  • Functional options

Estilo de código

El contenido descrito corresponde al estilo del equipo de Banksalad, y recomiendan considerar cada punto según la realidad de cada organización en vez de seguirlo tal cual.

  • Orden de los argumentos de las funciones
  • Naming de funciones de test
  • Orden de declaraciones dentro del archivo
  • Orden de imports
  • Para singular usar get, para plural usar list
  • Evitar palabras ambiguas
  • Naming de constantes
  • Naming de paquetes
  • Estructura del proyecto

2 comentarios

 
zxgdot 2023-09-15

:woman_running:

 
secret3056 2023-09-15

Buen texto, lo leí con gusto. Creo que las dos empresas que mejor aprovechan Go en Corea son BankSalad y AB180.