Conversation
…все возвращаемые типы в интерфейсах
Pasha0666
left a comment
There was a problem hiding this comment.
И у тебя появилась новая инфра в виде Result, но тестов на неё не добавилось
| } | ||
| public static Result<None> Ok() |
| public static Result<TInput> OnFail<TInput>( | ||
| this Result<TInput> input, | ||
| Action<string> handleError) | ||
| { | ||
| if (!input.IsSuccess) handleError(input.Error); | ||
| return input; | ||
| } |
There was a problem hiding this comment.
Вот тут видно прям что строка это не лучший выбор для ошибки. Но тут предлагаю только подумать, но ничего переделывать не нужно
There was a problem hiding this comment.
Имеется ввиду вместо строки какой-нибудь новый класс для обозначения ошибки, по типу класса с сообщением и каким-нибудь доп. стектрейсом?
There was a problem hiding this comment.
Ага, ровно про это и говорю. На самом деле у меня в проекте примерно так и сделано и мы возращаем различные ошибки в зависимости от потребности, они имеют только один общий интерфейс. Но с этим тоже нужно быть аккуратным
| return creator.Create(options); | ||
| }).Then(x => x); |
There was a problem hiding this comment.
Вообще конечно выглядит костыльно, но в блоке кода выше я возвращаю Result, и в конечном итоге получается Вложенный Result в Result, и с помощью Then я его "распаковываю". Переделал не оборачивая полностью выражение в Result.Of.
|
Еще добавил тесты на сам Result |
| return creator.Create(options) | ||
| .Then(Result.Ok); |
There was a problem hiding this comment.
А зачем этот .Then(Result.Ok) появился?
There was a problem hiding this comment.
И пробегись по остальным местам где была такая же конструкция .Then(x => x)
No description provided.