목록 보기
뱅크샐러드 Go 코딩 컨벤션
백엔드

뱅크샐러드 Go 코딩 컨벤션

뱅크샐러드
뱅크샐러드
2023년 9월 6일

두줄요약

Go 서버 개발에서 안전한 오류 처리와 고루틴, HTTP 연결 관리 원칙을 정리했습니다. 테스트·네이밍·프로젝트 구조까지 일관된 코드베이스를 위한 컨벤션을 제시합니다.

핵심 내용

  • Go 코드베이스 전반의 일관성과 유지보수성을 위한 조직 코딩 컨벤션
  • 외부 가이드와 린트 도구를 기반으로 한 스타일·프랙티스·원칙 정립

구조와 흐름

  • 프로덕션 panic·fatal 제한, 고루틴별 recover와 멀티 에러 수집
  • 에러 스택 단일 추가, 상위 계층 로깅, sentinel error의 제한적 사용
  • HTTP 커넥션 재사용을 위한 client 풀 설정과 response body drain·close

성능/운영 포인트

  • slice·map 용량 사전 할당과 map 순회 순서 비보장 대응
  • Unicode 문자열 순회·길이 계산, time.Duration·타임존의 명시적 처리
  • 트래픽·메모리·트레이싱 기반 HTTP idle connection 설정 조정

적용해볼 점

  • 테이블 기반 테스트, 의존성 주입, map 순회 회피를 통한 결정적 테스트
  • context 우선 인자, early return, functional options, 최소 패키지 구조 적용
  • golangci-lint·revive·gci 등을 활용한 컨벤션 자동 검증

다음 읽기

#Go 주제를 이어서 읽기

프로덕션 환경에서 사용하는 golang과 gRPC

Go·gRPC 기반 마이크로서비스에서 protobuf를 API 단일 원천으로 관리한 방식을 소개합니다. grpc-gateway와 interceptor로 REST 호환성 및 운영 관측성을 확보했습니다.

뱅크샐러드
뱅크샐러드
백엔드
전체 보기

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...