Go 언어 29강 - 프로젝트 구조 리팩토링 & 설정 통합

 

 

🗂️ Go 언어 29강 - 프로젝트 구조 리팩토링 & 설정 통합

이제 점점 커지는 프로젝트를 정리할 타이밍입니다. 이번 강의에서는 구조 정리와 설정 통합을 진행합니다.

1️⃣ config 패키지 만들기

// config/config.go
package config

import (
  "log"
  "os"
  "github.com/joho/godotenv"
)

func LoadEnv() {
  err := godotenv.Load()
  if err != nil {
    log.Fatal(".env 파일을 불러올 수 없습니다")
  }
}

func Get(key string) string {
  return os.Getenv(key)
}

2️⃣ main.go에서 불러오기

import "yourapp/config"

func main() {
  config.LoadEnv()
  port := config.Get("PORT")
  ...
}

3️⃣ 구조 제안

/yourapp
├── main.go
├── config/
│   └── config.go
├── router/
│   └── router.go
├── handler/
│   └── member.go
├── model/
│   └── member.go
└── db/
    └── sqlite.go

🧠 요약

  • 환경 설정은 config 패키지로 통합
  • main은 가능한 얇고 깔끔하게 유지
  • 코드의 재사용성과 가독성이 향상됨

한 줄 요약: "리팩토링은 실력자의 증표다!"