Review
Не надо писать один и тот же код два раза только из-за того, что у тебя параметр в функции меняется. Лучше бы это выглядело так:
Пример с дублированием пострашнее:
Тут шесть строк просто повторяются. Нужно было бы какое-то другое поведение – пришлось бы переписывать дважды. Плюс, если не разбираться, что происходит внутри, то с первого взгляда не особо понятно. Можно все это гораздо проще сократить, а так же добавится читаемости в код:
Вот это так не оставляй, можно вынести либо в переменную, либо куда-нибудь в константы:
Либо же вообще так написать, заменив потом числа на константы:
А вот тут у тебя в кейсе отступы убежали:
Зачем писать три строки вместо одной? И так для каждого буля
Лучше уж вот так:
Опять история, как в начале. Выноси в переменную отдельную и ее присваивай, красивее будет.
А еще после каждого запроса в сеть такие вот пустые if–else стоят, потом по-любому про половину из них забудешь
Тоже уже было выше с дублированием. Пять строчек магическим образом превращаются в одну:
О, а тут даже тудушка есть, про нее не забудешь, а на остальные подобные места забьешь. Если пока непонятно, как показывать ошибку, мог бы написать какой-нибудь менеджер уведомлений и его дергать, чтобы сверху что-нибудь отображалось. А потом бы переписал на нужную реализацию.
А вот про такой кейс точно забудешь, потому что в поиске не найдешь нормально его, потеряешься в guard let-ах.
if else тут более уместен и лучше вписывается. Вы (с Егором и Лёней) прям любите так писать:
Гораздо лучше вот так выглядит:
Крч поищи подобные места по проекту и почисти его, а то потом это все выгребать прям пиздос будет. + с вещами посерьезнее рефакторингом можно будет поломать что-нибудь, а сейчас и ломать особо нечего, и на тесты постоянно уходят фичи новые, так что если что – заметят.
Если сильного завала нет, то завтра часа 2 отведи на рефакторинг себе и сделай все дела, до котрых руки не доходили. Все равно дни предпраздничные, еще и туса какая-то вечером, так что максимально нерабочая атмосфера, а для рефакторинга самое то.