Затмение подсчитать строки кода - PullRequest
97 голосов
/ 03 августа 2011

Я попробовал плагин Metrics , и хотя он хорош и все, это не то, что ищет мой начальник.Он считает строку только с одной } как линию, и он не хочет, чтобы это считалось как «это не линия, это выбор стиля».Мне также нужно сформировать отчет о предоставленных показателях.Есть ли хорошие инструменты для этого?

Ответы [ 9 ]

243 голосов
/ 15 апреля 2013

Всегда есть «грубая сила»:

  1. Search-> Файл

  2. Введите следующее в «Содержащий текст» -> ^.*$. Затем установите флажок «Регулярное выражение»

  3. Введите следующее в «Шаблоны имен файлов» -> *.java

  4. Нажмите «Поиск»

  5. Проверьте количество совпадений во вкладке «Поиск».

90 голосов
/ 03 августа 2011

Установите Eclipse Metrics Plugin . Чтобы создать отчет в формате HTML (с дополнительными XML и CSV) right-click a project -> Export -> Other -> Metrics.

Вы можете настроить метрики «Строки кода», игнорируя пустые строки и строки только для комментариев или исключая Javadoc, если хотите. Для этого проверьте вкладку на Preferences -> Metrics -> LoC.

Вот и все. Не существует специальной опции для исключения фигурных скобок {}.

Плагин предлагает метрику, альтернативную LoC, которая называется Количество операторов . Вот что говорит об этом автор:

Этот показатель представляет количество операторов в методе. Я считаю, что это более надежная мера, чем строки кода, поскольку последняя хрупка по отношению к различным соглашениям о форматировании.

Редактировать:

После того, как вы прояснили свой вопрос, я понимаю, что вам необходимо просматривать нарушения метрик в реальном времени, например предупреждения компилятора или ошибки. Вам также нужна функциональность отчетов для создания отчетов для вашего босса. Плагин, который я описал выше, предназначен для отчетов, потому что вы должны экспортировать метрики, когда хотите их увидеть.

21 голосов
/ 16 августа 2012

Если в OSX или * NIX использовать

Получить все фактические строки кода Java из * .java файлов

find . -name "*.java" -exec grep "[a-zA-Z0-9{}]" {} \; | wc -l

Получить все строки из файлов * .java, включая пустыестрок и комментариев

find . -name "*.java" -exec cat | wc -l

Получить информацию для каждого файла, это даст вам [путь к файлу + "," + количество строк]

find . -name "*.java" -exec wc -l {} \;
8 голосов
/ 03 августа 2011

Другой способ - использовать другую утилиту loc, например, LocMetrics .
В нем также перечислены многие другие инструменты loc * . Интеграция с Eclipse не будет всегда (как это было бы с Metrics2 , которую вы можете проверить, потому что это более новая версия, чем Metrics ), но по крайней мере эти инструменты могут рассуждать в терминах логических строк (вычисленных путем суммирования конечных точек с запятой и конечных фигурных скобок).
Вы также можете проверить с помощью eclipse-metrics более адаптирован к тому, что вы ожидаете.

7 голосов
/ 23 октября 2012

Другим инструментом является Google Analytix , который также позволит вам запускать метрики, даже если вы не можете построить проект в случае ошибок

5 голосов
/ 16 января 2015

Один из возможных способов подсчета строк кода в Eclipse:

в меню «Поиск / Файл ...» выберите вкладку «Поиск файла», укажите \ n [\ s] * для «Содержащий текст» (пустые строки не учитываются) и установите флажок «Регулярное выражение».

Наконечник шляпы: www.monblocnotes.com / node / 2030

1 голос
/ 14 июня 2016

Я создал плагин Eclipse, который может считать строки исходного кода. Он поддерживает Kotlin, Java, Java Script, JSP, XML, C / C ++, C # и многие другие типы файлов.

Пожалуйста, посмотрите на это. Любые отзывы будут оценены!

репозиторий git-hub находится здесь

0 голосов
/ 21 октября 2013

Для статического анализа я использовал и рекомендую SonarQube, который запускает практически для всех метрик, которые вы, возможно, захотите на для широкого спектра языков , и является бесплатным в базовомверсия (вам нужно заплатить, чтобы анализировать языки, которые я только кодировал бы с пистолетом в голове).

Вы должны установить его как веб-приложение, запускающее анализ из вашего хранилища исходного кода., но в нем также есть Eclipse-плагин .

. Если вы просто хотите узнать, сколько раз в вашем проекте, просто излишне, если вы просто хотите узнать, сколько строк кода.Если вы хотите отслеживать показатели во времени, сравнивать проекты, выдавать предупреждения о превышении порога и т. Д., Это просто фантастика.

Раскрытие информации: у меня нет финансовых отношений с SonarSource.

0 голосов
/ 06 октября 2011

ProjectCodeMeter считает LLOC (логические строки кода) в точности так, как вы описали (только эффективные строки).он интегрируется в eclipse как инструмент метрик внешнего кода , но не в режиме реального времени, он генерирует отчет. Фактически он подсчитывает многие метрики исходного кода, такие как сложность, арифметическая запутанность, жестко закодированные строки, числовые константы.даже оценивает время разработки в часах.

...