Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
питання 1-19.doc
Скачиваний:
11
Добавлен:
22.07.2019
Размер:
458.24 Кб
Скачать
  1. Використання cccc для вимірювань.

CCCC - інструмент для аналізу початкового коду в різних мовах (перш за все C++), який генерує повідомлення в HTML форматі на різних вимірюваннях обробки коду. Хоча інструмент спочатку здійснювався, щоб обробити C++ і ANSI C, теперішня версія також може обробити початкові файли Java, і підтримувати теперішні версії на Ada95.

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

Тег

Назва метрики

Опис

LOC

Лінії коду

Ця метрика вказує на кількість не закоментованих рядків коду в функції (LOCf),в модулі (LOCm), або в проекті (LOCp). LOC найчастіше всього використовується для того, щоб отримати розміри програмного продукту.

MVG

Цикломатична складність за Мак Кейбом

Вимірювання проводиться на основі направленого ациклічного графа, який представляє потік контролю в межах кожної функції. Спершу пропонується проаналізувати мінімальне число тестових випадків, щоб гарантувати, що всі частини кожної функції безпомилково працюють.

COM

Коментовані рядки

Вказує на кількість закоментованих рядків коду в програмі. Найчастіше використовується окремо від інших метрик, але інколи використовується разом з метриками цикломатичної складності та загальної кількості рядків коду

L_C,M_C

LOC/COM, MVG/COM

Дивись вище

FO,FOc,FOv FI,FIc,FIc

Fan-out, Fan-in

Дані метрики вказують на: fan-out - число інших модулів, які використовують модуль А, поки fan-in - число інших модулів, які використовують модуль А.

HKS, HKSv, HKSc

Henry-Kafura/Shepperd measure

Цю метрику отримує кожний атрибут fan-in і fan-out кожного модуля.

NOM

Число модулів

Загальна кількість модулів, що спостерігаються в проекті

WMC

Зваженість методів класу

Метрика, що були запропонована Chidamber і Kemerer, - граф числа функцій, визначених в модулі, помноженому на навантажуючий чинник. Лише навантажуючий алгоритм, запропонований в оригінальному формулюванні, - загальноприйнята надбавка однієї одиниці за функцію.

REJ

Рядки, що ігноруються

Метрика, що вказує на не порожні рядки коду, що не закоментовані, яку не проаналізував аналізатор. Це більше перевірка достовірності даних на згенеровані повідомлення.

  1. Використання Visual Studio для вимірювань.

В Visual Studio 2008 існують наступні метрики коду 

  • Кількість рядків коду LOC

Це одна з найпростіших метрик. Цей показник є відомим за його неправильне використання. Тому користуватись ним потрібно обережно, в ідеалі лише для інформації, щоб побачити, наскільки великий клас або метод.

  • Індекс експлуатаційної надійності - комплексний показник якості коду що змінюється від 0 до 100. Цей індекс базується на інших метриках. Чим нижче число, тим важче буде супроводжувати код.

  • Цикломатична складність - показник що характеризує кількість розгалужень в програмному коді і обчислюється шляхом підрахунку операторів циклу та умовного переходу.

  • Глибина успадкування - характеризує довжину ланцюжків спадкування в програмному коді.

Цей показник також досить простий. У ній вказується кількість базових класів (тобто кількість класів між класом Х і System.Object. Ця метрика не повинна перевищувати 6. Вища значення може означати, що систему складно підтримувати, і що ризик порушення зміною є високим.

  • Зв'язок між класами - СС - відображає ступінь залежності класів між собою

Основне правило тут є те, що чим менше цей показник для одного класу, тим він стабільніший. Стабільний клас не ламається про зміні в інших класах і не вимагає зміни при зміні інших класів. Більш стабільний клас, тим більше він заслуговує того, щоб клас був для повторного використання.