Мне известны следующие синтаксические формы Swift, которые в случае сбоя вызывают ошибку времени выполнения / недопустимую инструкцию:
var x: Foo! // implicit unsafe unwrap
x as! y // unsafe downcast
optionalValue! // explicit unsafe unwrap
Я хочу удалить как можно больше из этих небезопасных выражений из моего запрограммируйте и замените их безопасными альтернативами.
Чтобы удалить эти небезопасные выражения, мне сначала нужно их идентифицировать. До сих пор мой наивный подход заключался в поиске !
и игнорировании всех ложных срабатываний, таких как логическое отрицание. Какие существуют более надежные способы? Например:
- Существует ли полный список всех синтаксических форм Swift, которые небезопасны? Я предполагаю, что мой список выше не является исчерпывающим.
- Есть ли Xcode или флаг компилятора, чтобы превратить эти операторы в предупреждения компилятора или ошибки компилятора?
- Есть ли linter, который я могу запустить, который будет делать эту работу?