Я экспериментировал с Metrics plugin for Eclipse from StateOfFlow, и мне нравится идея анализа моего кода.Конечно, не все показатели слишком ясны для меня или полезны, но из широкого спектра различных показателей, которые предоставляет плагин (в настоящее время 14, по моему подсчету), я склонен относиться к этому серьезно:
Метрики метода: Цикломатическая сложность | Количество заявлений | Количество местных жителей в области | Количество уровней
Показатели качества: Кол-во полей | Весовые методы в класс
Чтобы уменьшить этот список еще дальше, я действительно верю в цикломатической Сложности меры McCabe и я нахожу ряд заявлений также весьма полезный показатель слишком много работы делается в одном месте.
Из остальных показателей, предоставляемых плагином, я нахожу их от Отсутствие сцепления в методах группы довольно трудно понять. Сегодня я начал с небольшого эксперимента, и после нескольких часов кодирования я включил поддержку Metrics для проекта. Найденные проблемы 6/7 связаны с единством, особенно неожиданным: Отсутствие сцепления в методах (общая корреляция) составляет 209%.
Мне сложно сделать что-нибудь об этом: Chidamber и Kemerer | Хендерсон-Продавцы | Общая корреляция | Pairwise Field Irrelation. Я очень склонен поднять допустимые максимумы для этих показателей, поэтому они перестанут появляться в качестве предупреждений.
Я думаю, что показатели кода, рассчитанные «на лету», являются полезным руководством для написания лучшего кода. Я рад, что вы задали этот вопрос, так как я хотел бы узнать больше о том, как другие используют показатели для улучшения качества кода.
Кстати, я бы приветствовал любые рекомендации других плагинов (Eclipse), с которыми вы могли бы столкнуться. Один из StateOfFlow обеспечивает хороший способ экспорта информации метрик в виде HTML-страниц с графиками и таблицами, а также может экспортировать метрики в файлы CSV, которые затем можно использовать в любых других утилит, которые вы можете использовать. До сих пор я наслаждаюсь плагином :)
Описание: http://www.ibm.com/developerworks/java/library/j-ap01117/index.html # N10228 Его использование metrics.sourceforge.org (не eclipse-metrics.sourceforge.org). Оба плагина, похоже, дополняют друг друга, но не являются тем же AFAIK. – user77115