Как получить количество строк кода в проекте Visual Studio

Обновлено: 20.11.2024

Количество строк кода в исходном коде приложения — один из наиболее распространенных показателей, связанных с проектами разработки программного обеспечения, в основном для измерения производительности.

Оглавление

Как считать строки кода в Visual Studio?

Этот инструмент называется Code Metrics и доступен в Visual Studio 2008 и более поздних версиях.

Но этот инструмент анализа кода Code Metrics доступен только в выпусках Visual Studio Premium и выше.

Это означает, что в Visual Studio Professional Edition инструмент "Метрики кода" не отображается.

Поэтому инструмент Code metrics в значительной степени предназначен для определения качества, расширяемости и ремонтопригодности программного обеспечения.

Использовать инструмент Code Metrics просто и понятно.

Здесь, в этом посте, я объясню, как использовать инструмент метрик кода для анализа кода от Visual Studio. Выполните шаги, указанные под заголовком ниже

Перейдите в обозреватель решений, щелкните решение правой кнопкой мыши и выберите пункт контекстного меню "Просмотр показателей кода".

Откроется окно просмотра метрик кода. Нажмите кнопку "Анализ решения" в средстве просмотра показателей кода.

Вы можете увидеть экран отчета об анализе кода, как показано ниже.

Инструмент Code Metrics помогает пользователю определить индекс ремонтопригодности, цикломатическую сложность, связь классов, глубину наследования и количество строк кода.

См. краткое определение каждого из этих параметров качества кода ниже.

Показатель ремонтопригодности

Индекс ремонтопригодности вычисляет относительную простоту обслуживания вашего кода. Значение находится в диапазоне от 0 до 100. Значение индекса ремонтопригодности должно быть выше, чтобы обеспечить лучшую ремонтопригодность.

Индекс ремонтопригодности = МАКС(0,(171 – 5,2 * log (объем Холстеда) – 0,23 * (цикломатическая сложность) – 16,2 * log (строк кода)) * 100 / 171)

Цикломатическая сложность

Цикломатическая сложность измеряет общее количество отдельных путей в коде путем подсчета количества точек принятия решений в коде.

Точками принятия решения являются блоки if, for each, for loops, case case, do, while и т. д. Чем ниже значение цикломатической сложности, тем лучше код.

Связь классов

Связь классов — это общее количество зависимостей класса от других классов.

Связь должна быть как можно меньше, чтобы избежать зависимости между классами. Если зависимость больше, классы называются тесно связанными.

Связывание классов не учитывает зависимость от встроенных типов-примитивов, таких как Object, Int32, string и т. д.

Глубина наследования

Глубина наследования вашего кода указывает количество типов, относящихся к определенному типу в иерархии наследования.

Реализации интерфейса не учитываются при расчете глубины наследования. Глубина наследования — один из важных параметров качества кода.

Строка кода

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

Можно ли найти количество строк кода во всем решении? Я слышал о MZ-Tools, но есть ли аналог с открытым исходным кодом?

LoC — это просто метрика, которая особенно интересна в двух случаях: 1) чтобы получить представление о том, насколько велика кодовая база, например, когда вы присоединяетесь к новой команде 2) для измерения вашего прогресса при попытке сделать вашу кодовую базу более компактной.

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

В VS2010 есть встроенный инструмент, который подсчитывает все строки кода, а также другие значения: перейдите в раздел «Просмотр» -> «Другие окна» -> «Результаты метрик кода».Маленькая кнопка в углу, похожая на календарь, нажмите ее, во всплывающей подсказке должно быть написано «Рассчитать метрики кода для души», и пусть VS сделает это.

Человеку не всегда нужно объяснять вам, почему он хочет считать код. Когда вопрос ставится просто, аргумент «почему» не имеет значения. Просто ответьте на его вопрос. Я ненавижу это. Бывают случаи, когда вы спрашиваете, почему, когда вам это явно нужно, а бывает, что нет (когда вы лично не видите необходимости и просто высокомерно дразните плакат).

26 ответов 26

Для этого мне пригодился powershell. В любом случае, я считаю, что LoC — довольно фальшивая метрика, поэтому не думаю, что требуется что-то более формальное.

Из каталога небольшого решения:

При этом будут подсчитаны непустые строки во всех файлах решения .cs и .xaml. Для более крупного проекта я просто использовал другой список расширений:

Зачем использовать целое приложение, если это можно сделать с помощью одной командной строки? :)

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

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

Отлично! Ваш заключительный комментарий действительно подводит итог, это тривиальная задача, так зачем использовать нетривиальный инструмент? Хотя я действительно думаю, что это должно быть включено во все версии VS.

Если вы хотите исключить резервные файлы, созданные для XAML, вы можете просто добавить переключатель -exclude: (dir -exclude *.g.cs -include *.cs,*.xaml -recurse | select-string . ).Количество

Анализ → Расчет метрик кода

Предупреждение: это делает много других вещей, кроме простого подсчета строк. В нем также перечислены «Индекс ремонтопригодности», «Цикломатическая сложность», «Глубина наследования» и «Связь классов», которые довольно сложно вычислить, и вы не можете запустить метрики только для их части. Это означает, что если ваша кодовая база особенно велика, вы можете часами ждать ее. Если все, что вам нужно, это подсчет строк, есть гораздо более быстрые решения.

Стоит отметить, что, согласно msdn, расчетное количество LoC основано на IL, а не на фактическом коде.

Я использовал Ctrl + Shift + F . Затем введите \n в поле поиска и включите поле регулярных выражений. Затем в результатах поиска в конце экрана отображается количество найденных файлов и строк кода.

Вы можете использовать [^\n\s]\r\n, чтобы пропустить пустые строки и строки, содержащие только пробелы (спасибо Заку в комментариях).

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

Хотя это немного неточно (если вы на самом деле используете \n в своем коде, эта строка будет учитываться дважды), это все же лучший ответ, если вам нужен ROM строк кода без стороннего инструмента

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

Здесь также обсуждается создание надстройки VS для подсчета строк с кодом на Codeproject

и Microsoft Visual Studio Team System 2008 включает хороший счетчик строк.

Только помните:

Измерение прогресса программирования по строкам кода похоже на измерение прогресса в самолетостроении по весу. Билл Гейтс

Часто считать строки кода просто глупо, а количество не означает качество. Тем не менее, огромная команда, поднявшая в воздух 545 000 фунтов (545 000 фунтов!!) Dreamliner, — это совершенно другое достижение, чем запуск ультралайта, который я собрал в одиночку в своем гараже. И если вы думаете о количестве строк кода в Windows, возможно, г-н Билл имел в виду это не так, как обычно.

Функция LOC в Visual Studio 2010 Ultimate находится в разделе "Анализ > Показатели кода". Надеюсь, я правильно перевел ее. У меня немецкая версия. Там это "Анализ" > "Codemetriken berechnen"

Кроме того, VS2012 включает эту функцию как в версии Ultimate, так и в версии Premium (а теперь и в версии Professional).

Вот обновление для Visual Studio 2012/2013/2015 для тех, кто хочет использовать опцию «Найти» (которая мне кажется самой простой): это регулярное выражение найдет все непустые строки с несколькими исключениями, чтобы дать самые точные результаты.

Введите следующее регулярное выражение в поле "Найти". Не забудьте выбрать опцию «Использовать регулярные выражения». Измените параметр поиска на «Текущий проект» или «Все решение» в зависимости от ваших потребностей. Теперь выберите «Найти все». Внизу окна Результаты поиска вы увидите строку «Совпадающие строки», означающую количество строк кода.

Это регулярное выражение исключает следующие элементы:

Многострочные комментарии (при условии, что строки правильно прокомментированы знаком * перед каждой строкой)

XML для Intellisense

Открытие фигурных скобок:

Закрытие фигурных скобок:

Примечание: все, что заключено в фигурные скобки, будет включено в поиск, но в этом примере учитываются только 4 строки кода вместо 18 непустых строк:

Я создал это, чтобы получить гораздо более точный подсчет LOC, чем некоторые предыдущие варианты, и решил поделиться. Боссы любят считать LOC, так что я застрял с ним на какое-то время. Я надеюсь, что кто-то еще может найти это полезным, дайте мне знать, если у вас есть какие-либо вопросы или вам нужна помощь, чтобы заставить его работать.

Нравится отрицательный голос без комментариев. Этого нельзя допускать. Что насчет моего решения не работает. Меня даже не волнуют голоса, я просто хотел опубликовать обновление для пользователей VS2012-2013.

Сложно отфильтровать весь сгенерированный код (AssemblyInfo и т. д.), поэтому предпочтительнее использовать анализ/вычисление метрик кода.

Отличная работа, но, пожалуйста, упомяните о флажке «Использовать регулярное выражение» в разделе «Параметры поиска». Это значительно упрощает

Не плагин, если это то, что вы ищете.

Вот тот, который я создал, работает в VS2012 (опубликованный устарел с 2010 года) и считает только строки кода. Он исключает все комментарии, используя директивы, фигурные скобки, директивы xml, пустые строки и т. д., чтобы дать вам только истинный код: ^(?!(\s**))(?!(\s*\-\- \>))(?!(\s*\

cloc – это превосходная командная строка, основанная на Perl, исполняемый файл для Windows, который разбивает пустые строки, строки с комментариями и исходные строки кода, сгруппированные по форматам файлов.

Теперь он не будет запускаться специально для файла решения VS, но может рекурсивно перемещаться по каталогам, и вы можете настроить фильтры имен файлов по своему усмотрению.

Вот пример вывода с их веб-страницы:

Эквивалентная шкала третьего поколения — это приблизительная оценка того, сколько кода потребовалось бы для языка третьего поколения. Не очень полезно, но все равно интересно.

Это здорово и супер просто в использовании. Гораздо проще, чем решения «Найти/Заменить», и понятнее, что на самом деле делается, чем опция VS Code Metrics. Просто установите cloc, а затем cloc. в вашем решении реж. Работа выполнена!

Я загрузил исполняемый файл Windows EXE с веб-сайта CLOC и запустил его в папке проекта веб-сайта Visual Studio 2017. Работал как шарм. Мне нравится параметр --by-file-by-lang, в котором указывается количество строк для каждого отдельного файла и языка, отсортированное от большего к меньшему.

Ответы здесь немного устарели, возможно, из 2008 года. Потому что в более новых версиях Visual Studio 2010/2012 эта функция уже встроена. Таким образом, нет причин использовать для этого какие-либо расширения или инструменты.

Функция подсчета строк кода – расчет показателей. С его помощью вы можете рассчитать свои показатели (LOC, индекс обслуживания, цикломатический индекс, глубина наследования) для каждого проекта или решения.

Просто щелкните правой кнопкой мыши решение или проект в обозревателе решений,

и выберите "Рассчитать показатели"

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

Расширение VS Code: подсчитывает пустые строки, строки комментариев и физические строки исходного кода на многих языках программирования.

Это расширение использует другие языковые расширения для определения строки кода. Поэтому вам может потребоваться установить языковое расширение для поддержки нового языка.

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

Выпущен VSCode Counter 2.0!

Экспериментальная поддержка "Удаленной разработки VSCode".

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

Возможности

  • Подсчитайте строки исходного кода в рабочей области или каталоге.
  • Подсчет строк кода текущего файла в режиме реального времени.

Использование

Счетчик в рабочей области

Откройте палитру команд и выберите VSCodeCounter: количество строк в рабочей области.

Считать в любом каталоге

Откройте проводник и щелкните папку правой кнопкой мыши.

Выберите Подсчет строк в каталоге .

Счетчик в реальном времени

Откройте палитру команд и выберите VSCodeCounter: переключить видимость счетчика в реальном времени .

Подсчитать диапазон выделенного текста

Проверить доступные языки

Откройте палитру команд и выберите VSCodeCounter: проверить доступные языки .

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

Сохранить языковые настройки

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

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

  • Сначала запустите VSCode на локальном компьютере.
  • Затем откройте палитру команд и выберите VSCodeCounter: сохранить собранные языковые конфигурации.
  • Затем settings.json сохранит информацию о конфигурации, полученную из текущих языковых расширений.
  • Подключитесь к удаленному устройству и используйте VSCodecounter как обычно.

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

Как подсчитать количество строк кода в проекте Visual Studio?

Измените параметр поиска на «Текущий проект» или «Все решение» в зависимости от ваших потребностей. Теперь выберите «Найти все». В нижней части окна «Результаты поиска» вы увидите «Совпадающие строки» — количество строк кода.

Сколько строк кода в моем проекте?

Мой проект представляет собой многопользовательскую ролевую онлайн-игру, написанную на Java. В настоящее время он содержит 14064 строки кода (без пустых строк).

Как подсчитываются строки кода?

Исходные строки кода (SLOC), также известные как строки кода (LOC), — это программная метрика, используемая для измерения размера компьютерной программы путем подсчета количества строк в тексте исходного кода программы.< /p>

Можете ли вы писать код в Visual Studio?

Visual Studio Code и другие текстовые редакторы могут интерпретировать расширения файлов и обеспечивать подсветку синтаксиса для конкретного языка. Подсветка синтаксиса — это инструмент, облегчающий чтение кода. С каждым новым языком, который вы изучаете, Visual Studio Code будет выделять текст таким образом, чтобы ваш код было легко читать.

Сколько строк кода в Minecraft?

minecraft», содержит 242 138 строк.

Как SonarQube вычисляет строки кода?

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

Сколько строк кода в Kubernetes?

Kubernetes – это крупная программа, в которой всего лишь 2 миллиона строк кода.

Сколько строк кода в LLVM?

LLVM меньше (1,6 миллиона строк), но он новее, по умолчанию поддерживает только C и C++ и имеет примерно треть от числа архитектур, включенных в качестве целей. Однако для полезной цепочки инструментов требуется гораздо больше компонентов.

Какой длины 1 строка кода?

1 строка = 4 секунды чтения. Если для того, чтобы понять, что я говорю в этой строке, требуется нечто большее, то она слишком длинная. LOC — печально известная неоднозначная метрика. Подробное сравнение допустимо только при сравнении кода, написанного на одном языке, в одном стиле одной и той же командой.

Та же Visual Studio, что и Visual Studio Code?

Visual Studio Code — это редактор, а Visual Studio — это IDE. Visual Studio Code является кроссплатформенным и быстрым, а Visual Studio — медленным.

Как считать строки кода в Visual Studio?

Что такое метрика для строк кода в Visual Studio?

Что такое показатель связи классов в Visual Studio?

Как найти строки кода в Excel?

Каков размер кода Visual Studio?

Код Visual Studio

Сложен ли код Visual Studio?

Visual Studio Code представляет собой небольшую загрузку ( Как считать строки кода?

Cloc можно использовать для подсчета строк в конкретном файле или в нескольких файлах в каталоге. Чтобы использовать cloc, просто введите cloc, а затем файл или каталог, который вы хотите изучить. Теперь давайте запустим часы на нем. Как видите, он подсчитал количество файлов, пустых строк, комментариев и строк кода.

В чем разница между Visual Studio и кодом Visual Studio?

Visual Studio Code — это отдельный продукт от Microsoft, и он полностью отличается от Visual Studio 2015… Разница между Visual Studio Code и Visual Studio 2015.

Visual Studio Code работает в Windows 10
Операционная система Windows 7 или более поздняя версия, OS X 10.10 или новее, Linux
Платформа IA-32, x86-64, ARM64
Размер Windows: 40,8–68,3 МБ Linux: 46,5–66,6 МБ macOS: 67,5 МБ
Доступно на 14 языках
Код Visual Studio Visual Studio 2015
Код Visual Studio основан на файлах и папках.< /td> Visual Studio 2015 основан на проекте и решениях.

Та же Visual Studio, что и VS Code?

Visual Studio Code — это редактор, а Visual Studio — это IDE. Код Visual Studio является кроссплатформенным и быстрым, в то время как Visual Studio не является быстрым. Обратите внимание, что Visual Studio для Mac уже доступна, но это другой продукт по сравнению с Visual Studio (Windows).

Быстро работает код Visual Studio?

VS Code создан с использованием фреймворка Electron (разработанного Github). Электрон обычно известен своим медленным временем запуска. Хотя это не оправдание. VS Code запускается достаточно быстро для большинства пользователей.

Читайте также: