Одна из вещей, о которой я много думал, - это то, как мы можем использовать какие-либо метрики для измерения изменений, будем ли мы идти назад или не? Это в контексте большой устаревшей базы кода, которую мы улучшаем. Большая часть кода написана на C ++ с наследием C. Некоторые новые функции и графический интерфейс написаны на C #.
Для начала, мы могли бы хотя бы проверить, меняется ли со временем простой уровень сложности в коде. Сложность состоит в том, чтобы иметь представление - мы, возможно, можем создать трехмерную поверхность, где двухмерная карта представляет код, и у нас есть тепловая карта цвета, представляющая сложность с трехмерной поверхностью, которая выпирает и выпячивается, чтобы показать изменения.
Как только вы может генерировать некоторые матрицы чисел, существует масса математических систем, которые позаботятся о подобных вещах.
Со временем я хотел бы иметь более сложные числа, но те же методы визуализации, которые используются для представления изменений.
1220] Мне нравится идея из Crap4j сосредоточиться на соотношении между сложностью и количеством модульных тестов, охватывающих этот код.
Я также хотел бы включить метрики SOLID дяди Боба и некоторые из показателей ОО Чидамбера и Кемерера. Сложнее всего найти инструменты для их создания для C ++. Единственный вариант - Основные показатели Кракатау (я не возражаю против оплаты инструментов). Мое желание использовать метрики CK частично связано с книгами Object-Oriented Metrics: Measures of Complex Хендерсона-Селлерса и более ранней Object-Oriented Software Metrics .
Если мы начнем использовать несколько этих показателей, мы можем получить около десяти чисел, которые меняются во времени. Я не очень разбираюсь в статистике, но мне кажется, что было бы интересно отследить множество таких показателей, а затем обратить внимание на то, какие из них имеют тенденцию меняться.
Обратите внимание, что связанный вопрос касается измерения качества кода в большая кодовая база . Меня больше интересует измерение изменения .