Conversation
…tead of usual ones, removed extra methods, added Redis exceptions handling, changed cors configuration, refactored ProgramProjectGeneratorService.cs - moved all the logic into new ProgramProjectCacheService.cs + small refactoring
| /// This class describes program project with customer, manager, | ||
| /// dates of start n end, budged and spent money. | ||
| /// </summary> | ||
| public record ProgramProject |
There was a problem hiding this comment.
Мб не заметил этого на прошлом ревью, но смысла объявлять этот класс record-ом нет никакого, так как никакими преимуществами рекордов ты в коде не пользуешься, зато заставляешь компилятор генерить дополнительный код
| /// </summary> | ||
| public class ProgramProjectCacheService(RedisCacheService cs, Faker<ProgramProject> faker) | ||
| { | ||
| private RedisCacheService _cs = cs; |
There was a problem hiding this comment.
Блин, ну назови это типа _casheService или _redis, _cs совсем нерепрезентативно звучит
| private RedisCacheService _cs = cs; | ||
| private Faker<ProgramProject> _faker = faker; |
There was a problem hiding this comment.
Тебе не нужны эти приватные поля, компилятор сгенерирует их за тебя при использовании праймари конструктора, просто используй напрямую его входные параметры
| /// Provides cached access to <see cref="ProgramProject"/> instances. | ||
| /// Generates a new project if it is not found in Redis. | ||
| /// </summary> | ||
| public class ProgramProjectCacheService(RedisCacheService cs, Faker<ProgramProject> faker) |
There was a problem hiding this comment.
Иметь две сущности, которые оканчиваются на *CacheService - крайне негуманно по отношению к гипотетическим коллегам, которые будут работать на одном проекте с тобой
| Console.WriteLine(ex.Message); | ||
| } | ||
| ProgramProject newProject = _faker.Generate(); | ||
| await _cs.SetAsync(key, newProject, TimeSpan.FromHours(12)); |
There was a problem hiding this comment.
А на SetAsync кэша точно ничего не может пойти не так, и обработка исключений тут не нужна?
ФИО: Кадников Николай
Номер группы: 6513
Номер лабораторной: 1
Номер варианта: 42
Краткое описание предметной области: Программный проект
Краткое описание добавленных фич: Добавлены сервис генерации и кэширование