Метрики программного кода
01 октября 2016
Метрики программного кода - это численные характеристики кода, отражающие те или иные его качества. Приведем несколько примеров наиболее известных и распространенных метрик.
- Число строк кода (NLOC). Необходимо вычислять отдельно: число строк в проекте, среднее число строк для функций, классов, файлов
- Одной из важных характеристик системы является ее сложность - чем сложнее система, тем проще в ней совершить ошибку. Цикломатическая сложность - число линейно независимых маршрутов через программный код. Считается, что цикломатическая сложность отдельных методов в классах не должна превышать 10. Одно из применений этой метрики - это определение числа автоматических тестов, которые необходимы для полного покрытия системы
- Максимальная глубина наследования классов - чем больше тем сложнее сопровождать программный код
- Метрики Хальстеда. На основе числа операторов и операндов фрагмента программного кода можно вычислить меру, отражающую сложность кода. Так же можно оценить время необходимое для модернизации фрагмента программного кода.
- Связанность компонентов системы. В частности, связанность классов определяется как число ссылок между этими классами. Система с высокой связанностью более трудная для поддержки. Самой простой метрикой отражающей связанность является число операторов import в файлах.
- Недостаток сцепления методов в классах - Lack of Cohesion of Methods (LCOM). Метрика LCOM показывает на сколько методы класса не связаны друг с другом через поля класса. Сцепление между методами в классе должно быть высоким, что содействует инкапсуляции
- Документированность кода выражается в процентном отношении объема комментариев к общему объему кода