Интегрированные среды разработки
Xcode становится все хуже и хуже — Обсуждение на Reddit
Мне кажется, или в последнее время Xcode превратился в сплошной кошмар? Я постоянно сталкиваюсь со сбоями, которые делают его практически непригодным для использования.
Вечное обсуждение на Reddit — Xcode все хуже и хуже:
Мне кажется, или в последнее время Xcode превратился в сплошной кошмар? Я постоянно сталкиваюсь со сбоями, которые делают его практически непригодным для использования. Сегодня он упал, когда я просто набирал текст — никаких тяжелых задач, просто набирал текст! У меня также были случаи, когда текстовый редактор зависал. Я не мог изменить никакой контент, но я все еще мог щелкать по пользовательскому интерфейсу, что очень странно. Даже такие базовые функции, как копирование, работают неправильно: вместо того чтобы скопировать содержимое файла, он копирует путь к нему. Раньше все было не так плохо. С каждым выпуском опыт все ухудшается. И чтобы исключить это, скажу, что проблема не в моем MacBook — у меня M3 Max с 36 ГБ оперативной памяти.
Кто-нибудь еще испытывает подобные проблемы? Любой совет или решение проблемы будут очень ценны!
Самый популярный ответ:
Первый раз?
В ответах встречаются разные мнения:
— Я видел много серьезных проблем, появившихся в последних нескольких версиях Xcode, а 16-я определенно добавила несколько новых. Я помню, когда Apple была компанией, которая производила надежное аппаратное и программное обеспечение, может быть, не хватало каких-то передовых изобретений, но то, что они поставляли, было действительно премиальным. Очевидно, инвесторам это не нравится, им нравятся базз-слова, AI, AR, VR и т. д. Это очень недальновидная стратегия, которая плохо кончится для всех.
— Это случалось у меня в 15 версии. Кажется, в 16 все стало лучше, по крайней мере, пока. Если говорить о 16, то она определенно хуже, чем 15. Хотя проблема с зависанием при разрешении SPM, похоже, исправлена, в целом Xcode кажется тяжелым и постоянно лагает при отладке и написании кода. Фильтрация тестов теперь настолько отстойная, что я настроил ее на отображение только неудач, но это работает только один раз, после повторного запуска тестов она показывает пустой список. Приходится переделывать фильтр. Автозаполнение ужасно, мало того, что оно занимает больше времени, так еще и нажатие ESC иногда заставляет всплывающее окно исчезать, а не появляться. Ничего удивительного. У Apple всегда был плохой Xcode. В каждом обновлении они что-то улучшают и ломают то, что раньше работало нормально.
— Со временем все стало только хуже. Они добавляют нестабильные функции и, если вам повезет, исправляют проблемы в течение нескольких лет. Подключение к телефону через WiFi и переименование объектов — идеальные примеры. Wifi стал лучше, но переименование по-прежнему работает плохо.
— Я не встречал ни одного ресурса для разработчиков Apple (кроме документации по SDK), который не был бы глючным, нестабильным или откровенно непригодным для использования.
= У меня всегда происходит сбой при добавлении локального пакета, однако я не видел проблем, с которыми сталкиваетесь вы. У меня M1 Pro с 32 ГБ и 300 ГБ свободного места (из 1 ТБ хранилища).
+ До сих пор Xcode 16 был для меня лучше, чем 15.
+ Я стараюсь избегать обсуждения Xcode, но тут я удержусь: нет, какими бы ни были его недостатки, он не плох. В тех случаях, когда я сталкивался с задержками, это происходило из-за кодовых баз, которые пытались использовать практически все библиотеки Cocoapod, доступные в интернете, и какой-нибудь линтер или другой скрипт сборки, который наделал шуму на Medium. Это вина разработчиков, что их сборки занимают много времени и что они навязывают свои парадигмы инструменту, который был создан для использования определенным образом. Медленный отладчик — это единственное, что мне не нравится, но, опять же, это не является решающим фактором, особенно на том уровне, когда ты почти никогда не знаешь, что происходит под капотом. Если уж на то пошло, то мне нравится тесная интеграция Xcode с ОС и его минималистичный, без лишнего шума внешний вид и ощущение. Но помимо этого, он предоставляет множество преимуществ: Инструменты, горячая перезагрузка, DocC, UI для юнит-тестов, интеграция с Xcode Cloud, автоматическая инициализация. В конце концов, это прославленный текстовый редактор. Давайте выберемся из собственной предвзятости, друзья.
+ Неа. Я никогда не пойму ненависти к Xcode. У меня практически нет проблем с ним (и я на той же машине, что и вы), ни у кого в моей команде нет проблем с ним. Честно говоря, мне кажется, что проблемы с ним есть только у Reddit.
+ В настоящее время работает отлично, и за все время у меня было минимум проблем. Я использую его со времен Project Builder. У меня есть проекты AppKit, UIKit и SwiftUI, причем авторазметка в IB, как правило, является единственным препятствием в старых проектах. Мне нравится SwiftUI для новых и небольших проектов.
Другой комментарий обсуждает процесс найма и использование тестовых задач:
- Прежде чем нанимать разработчиков, им следовало бы добавить больше Leetcode-тестов [в свою процедуру найма].
- Хотя лично у меня нет никаких проблем с Xcode (и никогда не было), я постоянно говорю об этом: некоторые из самых жутких ошибок приходят от компаний, использующих Leetcode. К примеру, совсем недавно (хотя сейчас это уже исправлено) в Facebook* была ошибка, когда сообщения выходили за границы контейнера. Как любой разработчик, обладающий хоть какими-то навыками, может допустить такое и запушить это в прод?
- Проблема не в том, что они проводят собеседования или нанимают разработчиков (разработчиков еще можно научить хорошим практикам), а в том, что устранение ошибок просто не является приоритетом. Приоритетом является выпуск следующего релиза или функции, если у них есть время, то некоторые крупные ошибки будут исправлены, но у них никогда не будет времени на исправление всех ошибок. А сжатые сроки приведут лишь к появлению новых ошибок. И это проблема не только Big Tech — большинство современных программ сейчас такие. Компании знают, что пользователи просто смирятся с этим, поэтому нет никаких реальных стимулов, чтобы заставить их делать что-то по-другому. В то время как внедрение новых продуктов оказывает более заметное влияние на их бизнес, и именно это является стимулом.