Провести ревью кода, рассказать о роблемах и как ожно их исправить.
Условие
Заголовок раздела «Условие»Провести ревью кода, рассказать о роблемах и как ожно их исправить.
package main
import ( "context " "errors "
cache "cache " zap "github.com/go-zap/zap " repository "repository ")
type Service struct { db repository.Repository logger *zap.Logger cache cache.Cache}
func New(db repository.Repository, logger *zap.Logger, cache cache.Cache) *Service { return &Service{ db: db, logger: logger, cache: cache, }}
// GetProduct возвращает сущность по ее IDfunc (s *Service) GetProduct(ctx context.Context, id int64) (*models.Product, error) { product, err := s.cache.GetProduct(id) if err != nil { return nil, err }
if product != nil { return product, nil }
product, err := s.db.GetProduct(context.Background(), id) if err != nil { return nil, err }
return product, nil}
// Update обновляет информацию о сущностиfunc (s Service) CreateProduct(c context.Context, p models.Product) error { _, err := s.db.CreateProduct(c, p) if err != nil { return err }
return nil}Решение
Заголовок раздела «Решение»Источник: Vitech / Витех (Ви.Tech) - 2 · 1 кв 2025
← Conduct a code review, then fix the cod… · Все задачи · Go · Написать функцию CompareVersions. →