Есть ли хорошие инструменты для сбора показателей Objective-C?

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

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

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

  • UITextInput: selectedTextRange против markTextRange?
  • банда из четырех шаблонов дизайна - код примера Objective C?
  • Как использовать AFNetworking 3.x для использования данных из веб-службы SOAP в ios, объектив-C
  • Приложение iTunes File Sharing: мониторинг в реальном времени для входящих данных
  • Основные данные - отличные значения
  • Основные данные: УДАЛИТЬ ГДЕ
  • Разрешает ли Apple «поддельные рамки iOS»?
  • Что происходит при вызове метода? Где аргументы толкаются?
  • 8 Solutions collect form web for “Есть ли хорошие инструменты для сбора показателей Objective-C?”

    OCLint ?

    От oclint.org:

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

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

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

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

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

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

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

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

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

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

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

    звонки в другие классы и т. д.

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

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

    Interesting Posts

    MKMapView не появляется при отключении автозапуска

    Разные классы размера для портретных и ландшафтных режимов iPad с ограничениями

    iOS 6 – Процедура обмена Facebook отключается с ошибкой «Прокси-приложение еще не установлено»

    Трассировка hops ttl reciveform на ios

    Что я должен вернуть в представленииIndexForPageViewController: для моего UIPageViewControllerDataSource?

    Насколько эффективно индивидуальное преобразование контроллеров представлений в ARC?

    *** Ошибка утверждения в –

    iOS: автоматическая компоновка и автоматизация масок – изменение размера всего представления?

    iOS: В чем разница между -init и -viewLoad ViewController?

    Как использовать репликацию HTTPS с помощью iOS Couchbase Mobile?

    React Native «Не удалось подключиться к серверу разработки».

    Xcode загрузить: «Сертификат для этого сервера недействителен»

    Ошибка Cocoapods, представляющая архив проекта Xcode

    Создание маршрутов с помощью приложения iOS для карт

    phonegap 3.0 console.log плагин http: localhost /! gap_exec 404 NOT FOUND

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.