Контекст: Пять хендлеров в проекте принимали appEnv string в конструкторе, но никогда его не использовали.
func NewPlaceHandler(placeSvc *services.PlaceService, appEnv string) *PlaceHandler {
return &PlaceHandler{placeSvc: placeSvc} // appEnv игнорируется
}
Проблемы:
Решение: Убрать параметр.
func NewPlaceHandler(placeSvc *services.PlaceService) *PlaceHandler {
return &PlaceHandler{placeSvc: placeSvc}
}
Когда нужен appEnv:
AuthHandler — для управления SameSite и Secure флагами кук (легитимно)errors.go — для скрытия деталей ошибок в production (легитимно через глобальную переменную AppEnv)AppEnv, либо не нужен#golang #antipattern #yagni #code-review