29

Жиза?⁠⁠

Жиза?

IT-юмор

7.6K поста53.3K подписчиков

Правила сообщества

Не публикуем посты:
1) с большим количеством мата
2) с просьбами о помощи
3) не относящиеся к IT-юмору

Вы смотрите срез комментариев. Показать все
6
Автор поста оценил этот комментарий
Поясните, серьезно, почему все так дрочат на тесты.
раскрыть ветку (14)
2
Автор поста оценил этот комментарий

Просто попробуй их правильно применить и тебе понравится.

раскрыть ветку (13)
2
Автор поста оценил этот комментарий
Да я не подъебываю, мне правда интересно. Мой основной язык Swift, он строго типизирован, есть опциональные значения и guard let. Сам язык предполагает проверки на всех этапах, иными словами, правильно спроектированный код (а xCode выдрачивает тебя на написание правильного кода) либо работает либо ожидаемо выкидывает т.к. выкидывания сам и программируешь, все эти выкидоны ожидаемы и контролируемые… и куда там тесты пихать и чего?
раскрыть ветку (12)
5
Автор поста оценил этот комментарий
Одно дело, когда код синтаксисчески правильный, другое дело его функциональность и выполнение написанного функционала. Тесты помогают пройти все возможные варианты исполнения вашей программы и ее функций.
раскрыть ветку (5)
1
Автор поста оценил этот комментарий
Эээ, а что, бывают проекты исключительно с правильным и читаемым кодом?
Иллюстрация к комментарию
раскрыть ветку (4)
1
Автор поста оценил этот комментарий
Есть проекты котоые Хуй кладут на тесты, экспериментируя на юзерах, а есть те, кто проводит тесты и минимизирует колличество возможнных проблем.
раскрыть ветку (3)
0
Автор поста оценил этот комментарий
Мне на практике ни разу не приходилось сталкиваться с по-настоящему качественными проектами. Первые недели две всё делается старательно и аккуратно, а потом проект как "с цепи срывается". Тесты, конечно, вручают, но проблема - их пишут те же самые люди, что и код.
раскрыть ветку (2)
1
Автор поста оценил этот комментарий
Попробуй поработать в продуктовой компании, для меня было очень непривычно что так можно работать :)
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Вроде относительно не так давно работал в можно сказать продуктовой компании, но там свои проблемы были. И опыта было недостаточно, чтобы ценить. Потом ещё работал в другой, но был в команде с индусами - на нас всю черновую работу с пускали - так себе было удовольствие. А сейчас всё вроде неплохо, и фирма почти облизывает, зато в проектах катастрофа.
1
Автор поста оценил этот комментарий

Привет коллега, представим что у тебя есть interactor с какой либо сложной логикой, и твой сосед по парте ее чутка поменял, и теперь она работает не так как предполагается и выдает при некоторых условиях другие данные, дак вот чтобы такое избежать закрываем протоколами этот класс, пишем моки на зависимые классы и пишем тест на проверку всех данных которые должны быть получены из этого класса, и да, это Swift, и иногда без тестов никуда, но частично с тобой согласен писать тесты на все это перебор

раскрыть ветку (2)
1
Автор поста оценил этот комментарий
Хотя в целом специалисты переходят на более высокоуровневое программирование. Начал недавно таки юзать SwiftUI. Решил картинку с сети загрузить, а Image то оказывается в запросы не умеет. Открыл документацию, есть некий AsyncImage который появился с выходом iOS 15.. но он без кеширования, да и отказываться от прошлых iOS тоже как то не хочется. Ну ок. Написал на urlsession с downloadTask обработчик с кешированием в NSCache и сохранением в .cache на обратном вызове с постановкой в очередь и внедрением значений в главном потоке на изменение. Итого берём ссылку, проверяем кеш, потом проверяем диск и уже потом качаем если нигде нет. Обычная нетривиальная задачка. Соответственно с контролем статуса загрузки и обработкой всех возможных ошибок и состояний. Потратил на это целый час. Потом делюсь кодом с одним товарищем, а он на серьезных щах втирает мне про Combine, мол новые технологии и т.д. Я попробовал объяснить, что комбайн для urlSession работает не на downloadTask, а на dataTask, про проблемы с памятью при загрузке через дату файла более 5мб… безрезультатно. Вникать никто не хочет. Собственно это же и провоцирует написание тестов, сейчас я это понял…просто легкий способ избежать проблем не вникая в архитектуру. Возможно это и правильно.
1
Автор поста оценил этот комментарий
Привет. Примерно это и имел ввиду, спасибо за дополнение. Я обычно в довесок к протоколам запрещаю переопределять важные методы, потому как видел неоднократно непонятные попытки обойти их, иногда просто люди не догоняют их важность и тупо приводят к соответствию. Ага.. должен быть вот такой метод и вернуть Data.. хм.. ну ладно, вот тебе return Data(), а что под капотом происходит не вникают. Соответственно код падает. В итоге на каждый класс кучу протоколов, final private на 99% методов, несколько проверок данных… но я не могу назвать это тестами, это структура языка и его безопасность.
0
Автор поста оценил этот комментарий
Ну типизация это хорошо, гарантирует что не прийдет дичь, всегда видишь какие типы у аргументов функций и переменных, но если ошибка в алгоритме или когда очень сложный большой проект где много связей внутри. Тесты гарантируют что случайно не уронишь где то код в другом месте, и помогает сделать селфревью.
0
Автор поста оценил этот комментарий

У тебя есть некоторая функция, которая изменяет стейт. Тебе надо убедиться, что стейт изменяется так как надо например.  тут не столько в краш фри дело

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Сижу, ручками тестирую, проверяю возможные варианты. Так тыкаю и эдак тыкаю. Я понял о чем речь, не уверен, что тесты справятся так же хорошо как я. Обычно я стараюсь свести все к изменениям в одном потоке, чтобы не было неожиданностей. Запускаю доп.проверки из разряда «если состояние не изменилось, то что делать» и в целом использовать комбинированные данные. Благо Apple выпустило combine и в целом можно практически полностью отказаться от обратных вызовов… при всем этом я реально не понял пользы тестов. То есть я отдалённо понимаю, что это позволит съэкономить мое же время т.к. написать тест быстрее чем проверить… но либо я тесты неправильно использую либо они работают не так идеально как ожидается.
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества