Есть ли хорошие инструменты для сбора метрик Objective-C?
Я использую Jenkins для CI в проектах iOS и хочу собирать на них некоторые программные метрики. Но единственным инструментом, который я смог найти, был CLOC, который учитывает только строки кодов (LOC). Тем не менее это лучше, чем ничего.
То, что я действительно хочу посчитать, - это методы, классы, вызовы для других классов и т.д. (для создания необычной сложной сложной вещи).
Возможно, мне не хватает некоторых инструментов, дайте мне знать, если да.
Ответы
Ответ 1
OCLint?
От oclint.org:
OCLint - это инструмент статического анализа кода для улучшения качества и уменьшая дефекты, проверяя код C, С++ и Objective-C и глядя для потенциальных проблем типа:
- Возможные ошибки - пустые, если /else/try/catch/finally statements
- Неиспользуемый код неиспользуемые локальные переменные и параметры
- Сложный код - высокая цикломатическая сложность, сложность NPath и высокий NCSS
- Резервный код - избыточный оператор if и бесполезные круглые скобки
- Код пахнет - длинный метод и список с длинными параметрами
- Плохая практика - инвертированная логика и переназначение параметров...
Ответ 2
Ящерица сделает это. Проверьте это на https://github.com/terryyin/lizard.
Ответ 3
Вы можете попробовать XClarify, довольно полный анализатор кода objective-c, и он бесплатный для вкладчики с открытым исходным кодом.
Ответ 4
Помимо строк кода и охвата тестирования, я не уверен, что для Obj-C еще есть такие инструменты. Я подозреваю, что мы увидим, что некоторые из них вскоре принесут приток разработчиков с других платформ, которые используют метрики, но в мои 7 лет как Obj-C dev я не слышал ни о ком, у кого есть инструмент для их сбора. Конечно, было бы неплохо доказать, что ошибочно:)
Ответ 5
ProjectCodeMeter измеряет сложность потока (аналогичную циклической сложности McCabe) в коде Objective-C, но не учитывает методы и классы хотя..
Ответ 6
Я использую несколько инструментов для сбора показателей качества кода:
Недавно я обнаружил, что у него есть бесплатный плагин для SonarQube - https://github.com/octo-technology/sonar-objective-c, но он не очень богат. Официальный здесь: http://www.sonarsource.com/products/plugins/languages/objective-c/
Ответ 7
То, что я действительно хочу посчитать, это методы, классы
nnnot rrreallly.... вы можете анализировать индексы xcode или вывод nm
- или запускать doxygen.
вызывает другие классы и т.д.
gcov
- или запустите doxygen
Ответ 8
Я просто наткнулся на Xcode Statistician (ссылка кажется мертвой), но еще не пробовал. zip-архив можно загрузить напрямую.