На моей работе много ситуаций, когда я использую метрики кода:
При написании кода
Самое большое и, возможно, самое важное использование в моей повседневной работе - это Checkstyle , инструмент для разработчиков Java, который постоянно проверяет метрики (среди прочего) моего кода на соответствие определенным нами правилам и отмечает места, где мой код не работает. соблюдать эти правила. Когда я разрабатываю код, он в реальном времени сообщает мне, становятся ли мои методы слишком длинными, сложными или связанными, что позволяет мне сделать шаг назад и подумать о рефакторинге чего-то лучшего.
Разработчики могут свободно нарушать все правила, поскольку они никогда не будут применяться ко всем ситуациям. «Правила» существуют для того, чтобы стимулировать мысль и сказать: «Эй, это лучший способ сделать это?»
Во время проверки качества кода
Первое, что я обычно делаю, когда выполняю проверку кода, это проверяю покрытие кода проверяемым кодом в сочетании с инструментом покрытия кода, который выделяет, какие строки кода были покрыты. Это дает мне общее представление о том, насколько тщательным является тестовый код. Мне действительно все равно, если покрытие составляет 20% или 100%, если важный код хорошо протестирован. Таким образом, покрываемый процент несколько бессмыслен, но 0% наверняка выделяется, как больной палец, как то, на что я хочу внимательно посмотреть
Я также проверяю, какие показатели, согласованные командой, были «нарушены», если таковые имеются, чтобы узнать, согласен ли я с разработчиком, что все в порядке, или могу ли я предложить способы улучшить его. Согласование этих метрик разработки в нашей команде для написания нового кода позволило значительно улучшить наш код. Мы пишем гораздо меньше монолитных методов и теперь намного лучше справляемся с принципом единой ответственности .
Усовершенствования в унаследованном коде
У нас много унаследованного кода, который мы хотели бы улучшить. Метрики в любой момент времени довольно бесполезны, но для нас важно то, что со временем покрытие кода возрастает, а такие вещи, как сложность и связность, снижаются. Поэтому наши показатели подключены к нашему серверу непрерывной интеграции, что позволяет нам со временем смотреть, чтобы убедиться, что мы на правильном пути.
Начало работы с новой базой кода
О единственном случае, когда я использую строки метрики исходного кода, это когда я смотрю на базу кода, с которой я не знаком. Это позволяет мне быстро оценить приблизительный размер проекта по сравнению с другими, с которыми я работал. Используя другие метрики, я могу получить еще более приблизительное представление о качестве проекта.
Ключевым моментом является использование метрик в качестве отправных точек для трендов, дискуссий или путей продвижения вперед, а не для религиозного управления их точными цифрами. Но я твердо верю, что они могут помочь вам улучшить код, который вы правильно используете при правильном использовании.