oclint
TRANSCRIPT
• Что такое статический анализатор кода
• Каким образом работают анализаторы кода
• Clang static analyzer vs OCLint
• Ссылки
Clang static analyzer• Отправка сообщения не проинициализированному объекту
• Использование не проинициализированных переменных
• Деление на ноль
• Методы, в которых не вызван super метод
• Не используемые ivars
OCLint
• Пустые if/else, do/while операторы
• Длинные методы
• Инвертированная логика
• Pointer type property с assign аттрибутом
• Mutable object property с strong аттрибутом
Преимущества OCLint
• Возможность писать свои правила
• Поддержка нескольких форматов отчетов
• Возможность отключения/включения правил
• Анализ отдельных файлов
• Подсчет цикломатической сложности проекта
• xctool/xcpretty
• xcodebuild + oclint-xcodebuild
• oclint/oclint-json-compilation-database
• Travis, Jenkins, fastlane
• xctool/xcpretty
• xcodebuild + oclint-xcodebuild
• oclint/oclint-json-compilation-database
• Travis, Jenkins, fastlane
• xctool/xcpretty
• xcodebuild + oclint-xcodebuild
• oclint/oclint-json-compilation-database
• Travis, Jenkins, fastlane
• xctool/xcpretty
• xcodebuild + oclint-xcodebuild
• oclint/oclint-json-compilation-database
• Travis, Jenkins, fastlane
Ссылки• oclint.org
• http://mgrebenets.github.io/mobile%20ci/2015/02/08/oclint
• https://codeascraft.com/2014/01/15/static-analysis-with-oclint/
• https://gavrix.wordpress.com/2013/02/28/integrating-oclint-in-xcode/