Ме́трика програ́ммного обеспе́чения (англ. software metric) — мера, позволяющая получить численное значение некоторого свойства программного обеспечения или его спецификаций.
Поскольку количественные методы хорошо зарекомендовали себя в других областях, многие теоретики и практики информатики пытались перенести данный подход и в разработку программного обеспечения. Как сказал Том ДеМарко, «вы не можете контролировать то, что не можете измерить».
Метрики
правитьНабор используемых метрик включает:
- порядок роста (имеется в виду анализ алгоритмов в терминах асимптотического анализа и O-нотации),
- количество строк кода,
- цикломатическая сложность,
- анализ функциональных точек,
- количество ошибок на 1000 строк кода,
- степень покрытия кода тестированием,
- покрытие требований,
- количество классов и интерфейсов,
- метрики программного пакета от Роберта Сесиль Мартина,
- связность.
Критика
правитьПотенциальные недостатки подхода, на которые нацелена критика:
- Неэтичность: Утверждается, что неэтично судить о производительности программиста по метрикам, введенным для оценки эффективности программного кода. Такие известные метрики, как количество строк кода и цикломатическая сложность, часто дают поверхностное представление об «удачности» выбора того или иного подхода при решении поставленных задач, однако нередко они рассматриваются как инструмент оценки качества работы разработчика. Такой подход достаточно часто приводит к обратному эффекту: в коде появляются более длинные конструкции и избыточные необязательные методы.
- Замещение «управления людьми» на «управление цифрами», которое не учитывает опыт сотрудников и их другие качества.
- Искажение: Процесс измерения может быть искажён за счёт того, что сотрудники знают об измеряемых показателях и стремятся оптимизировать эти показатели, а не свою работу. Например, если количество строк исходного кода является важным показателем, то программисты будут стремиться писать как можно больше строк и не будут использовать способы упрощения кода, сокращающие количество строк.
- Неточность: Нет метрик, которые были бы одновременно и значимы, и достаточно точны. Количество строк кода — это просто количество строк, этот показатель не даёт представления о сложности решаемой проблемы. Анализ функциональных точек был разработан с целью лучшего измерения сложности кода и спецификации, но он использует личные оценки измеряющего, поэтому разные люди получат разные результаты.
См. также
правитьСсылки
править- Основные метрики кода: LOC, SLOC, Джилб, Маккейб, Холстед, ООП и другие
- Методы оценки несоответствия средств защиты информации / А. С. Марков, В. Л. Цирлов, А. В. Барабанов; под ред. А. С. Маркова. — М.: Радио и связь, 2012. С.83-120.
Это заготовка статьи о программировании. Помогите Википедии, дополнив её. |
Для улучшения этой статьи желательно: |