Типобезопасная и удобная обработка ошибок в Swift 6
Swift 6 привнес в язык новую интересную возможность: typed throws. С помощью этого изменения можно определить, какие типы ошибок может выбрасывать функция.
На первый взгляд это небольшое изменение, но на самом деле открывает путь к написанию более чистого и надежного кода.
📖 В этом посте можно посмотреть на пример кастомного протокола ошибок и на два кейса использования в Swift 6.
😃 iOS Dev
Swift 6 привнес в язык новую интересную возможность: typed throws. С помощью этого изменения можно определить, какие типы ошибок может выбрасывать функция.
На первый взгляд это небольшое изменение, но на самом деле открывает путь к написанию более чистого и надежного кода.
📖 В этом посте можно посмотреть на пример кастомного протокола ошибок и на два кейса использования в Swift 6.
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥19👍11 8✍3
Reaper — фреймворк для обнаружения неиспользуемого кода в рантайме
В качестве примера разработчики приводят историю уменьшения кодовой базы Duolingo на целый процент (или 10 000 строк кода).
Он поддерживает все классы, написанные на Objective-C, большинство non-generic классов Swift и некоторые structs/enums Swift.
Инструмент от Emerge tools (теперь он опенсорс как и FaultOrdering) определяет набор используемых классов, а каталог Scripts в этом репозитории содержит программу для определения набора всех возможных типов, которые может обнаружить reaper. Разница между этими наборами - неиспользуемые типы.
➡️ О влиянии фреймворка на перфоманс можно почитать здесь, а к бинарнику это добавит <20 килобайт.
📖 Статья с примерами и разбором для iOS (и Android) доступна вот тут.
😃 iOS Dev
В качестве примера разработчики приводят историю уменьшения кодовой базы Duolingo на целый процент (или 10 000 строк кода).
Он поддерживает все классы, написанные на Objective-C, большинство non-generic классов Swift и некоторые structs/enums Swift.
Инструмент от Emerge tools (теперь он опенсорс как и FaultOrdering) определяет набор используемых классов, а каталог Scripts в этом репозитории содержит программу для определения набора всех возможных типов, которые может обнаружить reaper. Разница между этими наборами - неиспользуемые типы.
📖 Статья с примерами и разбором для iOS (и Android) доступна вот тут.
Please open Telegram to view this post
VIEW IN TELEGRAM
8 14🔥11👍8✍4❤🔥2⚡1🏆1