Есть ли хорошие инструменты для сбора показателей Objective-C? - PullRequest
11 голосов
/ 08 декабря 2011

Я использую Jenkins for CI в проектах iOS и хочу собрать для них метрики программного обеспечения.Но единственным инструментом, который мне удалось найти, был CLOC , который считал только строки кода (LOC).Тем не менее, это лучше, чем ничего.

То, что я действительно хочу сосчитать, - это методы, классы, вызовы других классов и т. Д. (Чтобы делать причудливые вещи с цикломатической сложностью).

Возможно, мне не хватаетнекоторые инструменты, дайте мне знать, если я сделаю.

Ответы [ 8 ]

9 голосов
/ 24 октября 2013

OCLint

От oclint.org:

OCLint - это инструмент статического анализа кода для улучшения качества и устранение дефектов путем проверки кода на C, C ++ и Objective-C и поиска для потенциальных проблем, таких как:

  • Возможные ошибки - пустые операторы if / else / try / catch / finally
  • Неиспользуемый код неиспользуемые локальные переменные и параметры
  • Сложный код - высокая цикломатическая сложность, сложность NPath и высокая NCSS
  • Код резервирования - избыточный оператор if и бесполезные скобки
  • Код пахнет - долго метод и длинный список параметров
  • Плохие практики - перевернутая логика и переназначение параметра ...
5 голосов
/ 14 ноября 2013

Ящерица сделает это.Проверьте это в https://github.com/terryyin/lizard.

3 голосов
/ 28 июня 2015

Вы можете попробовать XClarify , довольно полный анализатор кода для объектива c, и он бесплатный для участников с открытым исходным кодом .

2 голосов
/ 19 февраля 2012

ProjectCodeMeter измеряет сложность потока (аналогично цикломатической сложности МакКейба) в коде Objective-C, но не учитывает методы и классы, хотя ..

2 голосов
/ 08 декабря 2011

Помимо строк кода и тестового покрытия, я не уверен, что таких инструментов для Obj-C пока нет.Я подозреваю, что вскоре мы увидим некоторых, учитывая приток разработчиков с других платформ, которые используют метрики, но за мои 7 лет работы разработчиком в Obj-C я не слышал, чтобы кто-то имел инструмент для их сбора.Конечно, было бы хорошо, если бы ты оказался неправ:)

1 голос
/ 28 июня 2015

Я использую несколько инструментов для сбора метрик качества кода:

  • OCLint - Соберите некоторые метрики, такие как цикломатическая сложность, и применяйте лучшие практики - http://oclint.org
  • Simian - Анализатор сходства - http://www.harukizaemon.com/simian/
  • Clang анализатор - тот же инструмент, что и в Xcode (Product -> Analyze), кажется немного устаревшим, но и полезным. Чтобы выполнить это на CI, смотрите: http://clang -analyzer.llvm.org / scan-build.html
  • Coveralls - хорошие инструменты для визуализации покрытия модульных тестов - https://coveralls.io

Недавно я обнаружил, что существует бесплатный плагин для SonarQube - https://github.com/octo-technology/sonar-objective-c, но он не очень многофункциональный. Официальный здесь: http://www.sonarsource.com/products/plugins/languages/objective-c/

0 голосов
/ 09 сентября 2013

Я только что наткнулся на Xcode Statistician (ссылка кажется мертвой), но еще не пробовал. zip-архив можно загрузить напрямую.

0 голосов
/ 08 декабря 2011

Что я действительно хочу посчитать, так это методы, классы

nrnot rrreallly .... вы можете анализировать индексы xcode или вывод nm - или запускать doxygen.

вызовы других классов и т. Д.

gcov - или запустить doxygen

...