Хорошие инструменты для измерения кода?

Существуют ли какие-либо хорошие инструменты для измерения кода?

Я нашел мера кода довольно полезной и интересной, но я не думаю, что смогу платить 1000 долларов в год только за с помощью измерительного инструмента.

Я предполагаю, что может быть инструмент, который/может

  • программное обеспечение с открытым исходным кодом
  • независимый от языка
  • ОС независимый
  • измерять метрики из разных категорий: LOC, LOC без пустых строк, количество функций ...

person prosseek    schedule 25.06.2010    source источник
comment
@ 0xA3 — CodeMeasure описывает себя как независимую от языка. Так что если это критерий...   -  person APC    schedule 25.06.2010
comment
en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis   -  person Macmade    schedule 25.06.2010
comment
Как бы вы считали функции независимым от языка способом? Как бы вы вообще распознали комментарии независимо от языка?   -  person Ira Baxter    schedule 30.06.2010


Ответы (3)


Для базовых показателей количества строк, подобных описанным вами, попробуйте cloc.

Мой 2c-ценность: метрики кода, как правило, хуже, чем бесполезны. Единственная ценность, которую я когда-либо извлекал из них, — это измерение эффективности одного языка по сравнению с другим.

person Marcelo Cantos    schedule 25.06.2010
comment
Cloc хорош, я использую его во всех своих проектах, где мне важно количество строк. - person tomdemuyt; 25.06.2010
comment
О каких метриках вы говорите как о чем-то худшем, чем бесполезном? Ваше утверждение слишком широкое, чтобы помочь. - person Andy Dent; 12.10.2010
comment
@Andy: Почти все из них: строки кода, цикломатическая сложность, скорость внедрения дефектов и т. д. Однажды, после того как я сократил несколько тысяч строк кода до сценария генерации кода из 200 строк, мой коллега, который одержимый метриками, сказал мне, что мой код был среднего качества, потому что мое отношение скорости внедрения дефектов к LOC было нормальным для языка, который мы использовали. Его совершенно не смущало, что LOC упал на порядок, а количество дефектов осталось прежним. Метрики помогают, когда вы выпекаете куки каждый день, а не когда все, что вы пишете, совершенно новое. - person Marcelo Cantos; 12.10.2010
comment
спасибо за историю, так как соотношение дефект-коэффициент внедрения-LOC звучит соблазнительно полезно, особенно для руководства, и приятно иметь контрпример. Рассматривали ли вы какие-либо метрики качества объектно-ориентированного программирования, такие как SOLID и метрики Чидамбера и Кемерера? Они меня больше всего интересуют, особенно то, как они меняются в проекте. Как человек, стремящийся улучшить код, LOC — это показатель, который я долгое время игнорировал. Хороший код часто становится меньше. - person Andy Dent; 13.10.2010
comment
@Andy: Я не большой поклонник OO в целом (сильно отдаю предпочтение функциональному и процессно-ориентированному стилю (аля Erlang)), поэтому Чидамбер и Кемерер меня не очень интересуют. Я предпочитаю строить все в виде небольших автономных модулей, которые взаимодействуют через четко определенные протоколы на основе сообщений. AFAICT, этот подход автоматически удовлетворяет C&K. - person Marcelo Cantos; 13.10.2010

Sonar – это серверное приложение на основе Java для измерения кода. В основном он ориентирован на Java, но поддержка других языков доступна через плагины.

person Timo Westkämper    schedule 30.08.2010

С 82 поддерживаемыми метриками кода NDepend — это инструмент Roll's Royce для метрик кода для разработчиков .NET.

person Patrick from NDepend team    schedule 30.08.2010