Бениамин Саркисян рассказал про устройство и принципы работы статического анализатора кода OCLint, а также показал, как можно написать свои собственные правила для него.
RDSDataSource - внутренние пятничные митапы iOS-команды RAMBLER&Co.
21. Clang static analyzer
• Отправка сообщения не
проинициализированному объекту
• Использование не проинициализированных
переменных
• Деление на ноль
• Методы, в которых не вызван super метод
• Не используемые ivars
22. OCLint
• Пустые if/else, do/while операторы
• Длинные методы
• Инвертированная логика
• Pointer type property с assign аттрибутом
• Mutable object property с strong аттрибутом
23. Преимущества OCLint
• Возможность писать свои правила
• Поддержка нескольких форматов отчетов
• Возможность отключения/включения правил
• Анализ отдельных файлов
• Подсчет цикломатической сложности проекта