Pull to refresh

Comments 12

Я неопытный программист на TS, может чего-то упускаю, но разве не проще вторую задачу решить так:

ApiResponse = SuccessfulApiResponse | FailedApiResponse | ...

SuccessfulApiResponse = {scenarioSuccess: true, response: string, error: null}

FailedApiResponse = {scenarioSuccess: false, response: null, error: string}

Т.е. мы просто перечисляем валидные комбинации параметров, а дальше TS не даст сконструировать неверную комбинацию. Да, можно потом "отредактировать" ApiResponse и ввести его в невалидный режим, но это надо постараться ещё сделать - от случайных ошибок защитит.

Тем более, что в вашем случае после проверки поля scenarioSuccess типы полей response и error сузятся, что не может не радовать.

@aml Очень хороший вариант.

Я просто хотел продемонстрировал использование приватного свойства.

Это же каким бараном надо быть чтобы, для того, чтобы "не пороть ерунду" нужен целый тайпскрипт !?

Типизация ничего не дает, кроме подсказок IDE, зато накорню вырубает "точку роста" в проекте, никакого творческого развития и поиска в проекте на тайпскрипт быть не может, и он тихо дохнет под вопли эйчаров и растущие в стратосферу зарплатные вилки не спасают.

Вывод простой: если ты не Фейсбук или гугл забудь про типизацию и тайпскрипт и SOLID и вспомни про KISS

И еще каждый год меняй проект чтобы не разбираться в том что там было до этого, ну или переписывай с нуля рассказав что прошлые разработчики были идиотами. А чего, рынок-то позволяет.

@RiverFlow независимо от языка программирования надо не забываться и общаться корректно

Поддерживаю за турескипт, и не согласен за solid. Хотябы буква L там вполне нужная вещь

UFO just landed and posted this here

@BerAllv большое спасибо, ознакомлюсь.

По поводу класса в бандле - ну я же планирую делать new ScenarioSuccessResponse, так что пусть остаётся)

@BerAllv воу, опубликовались практически в одно и то же время.

Весьма интересный матерьял, спасибо.

Не нашел возможности оставить коммент в под статьёй, так что пишу здесь:

It leads to more flexibility but at the same time leaves a room for specific bugs - думаю можно было бы привести пример такого бага

UFO just landed and posted this here
Sign up to leave a comment.

Articles