подсчет строк кода в проекте
Как подсчитать строки кода в решении Visual Studio?
можно ли найти количество строк кода во всем решении? Я слышал о MZ-Tools, но есть ли эквивалент с открытым исходным кодом?
25 ответов
Visual Studio 2010 Ultimate имеет этот встроенный.
Я нашел powershell полезное для этого. Я считаю LoC довольно фиктивной метрикой в любом случае, поэтому я не считаю, что требуется что-то более формальное.
из каталога небольшого решения:
зачем использовать все приложение, когда одна командная строка будет делать это? 🙂
счетчик строк с открытым исходным кодом для VS2005, 2003 и 2002 доступен здесь:
существует также обсуждение создания подсчета строк VS addin, в комплекте с кодом на Codeproject, здесь
также гладкие гаджеты редактирования имеют хороший счетчик строк, здесь:
и Microsoft Visual Studio Team System 2008 включает в себя хороший счетчик строк.
измерять программируя прогресс линиями кода как измерять прогресс здания воздушных судн весом. Билл Гейтс!—1—>
Не плагин, хотя, если это то, что вы ищете.
вот обновление для Visual Studio 2012/2013/2015 для тех, кто хочет сделать параметр «найти» (который я считаю самым простым): это регулярное выражение найдет все непустые строки с несколькими исключениями, чтобы дать наиболее точные результаты.
введите следующее выражение в поле «Найти». Обязательно выберите опцию «Использовать регулярные выражения». Измените параметр поиска на «текущий проект» или «Все решение» в зависимости от ваших потребностей. Теперь выберите «Найти все». На дно Результаты Поиска окно, вы увидите «соответствующие строки», которые являются строками кода.
это выражение исключает следующие элементы:
многострочные комментарии (при условии, что строки правильно прокомментированы с * Перед каждой строкой)
XML для Технология IntelliSense
открывающей фигурной скобки:
закрытие фигурных скобок:
Примечание: все, что между фигурными скобками будет включено в поиск, но в этом примере будет считаться только 4 строки кода, а не 18 фактических незаполненных строк:
Я создал это дайте мне гораздо более точный подсчет LOC, чем некоторые предыдущие варианты, и я решил поделиться. Боссы любят LOC counts, поэтому я застрял с ним на некоторое время. Я надеюсь, что кто-то еще может найти это полезным, дайте мне знать, если у вас есть какие-либо вопросы или нужна помощь в его работе.
теперь он не будет специально запускаться в файле решения VS, но он может рекурсировать через каталоги, и вы можете настроить фильтры файлов по своему усмотрению.
вот пример вывода с их веб-страницы:
эквивалентная шкала третьего поколения является грубой оценка того, сколько кода потребуется в язык третьего поколения. Не очень полезная, но интересная.
ответы здесь немного устарели,может быть, с 2008 года. Поскольку в более новых версиях Visual Studio 2010/2012 эта функция уже встроена. Таким образом, нет никаких причин использовать для этого расширение или инструменты.
функция подсчета строк кода-вычисление метрик. С его помощью вы можете рассчитать свои метрики (LOC, maintaince index, Cyclomatic index, глубина наследования) для каждого проекта или решения.
просто щелкните правой кнопкой мыши на решении или проекте в решении Обозреватель
и выбрать «измерения»
более поздние данные для анализа и агрегирования могут быть импортированы в Excel. Также в Excel вы можете отфильтровать сгенерированные классы или другой шум от ваших метрик. Эти метрики, включая строки кода LOC, могут быть собраны также в процессе сборки и включены в отчет сборки
регулярные выражения изменились между VS2010 и 2012, поэтому большинство решений регулярных выражений здесь больше не работают
найдет все строки, которые не являются пустыми, не являются только одной скобкой (‘<'или'>‘), а не только #include или другим препроцессором.
соответствующее регулярное выражение для VS 2010 и старше
для будущих читателей, я хотел бы посоветовать расширение DPack для Visual Studio 2010.
у него есть загрузка встроенных утилит, включая счетчик строк,который говорит, сколько строк пусто, код и т. д.
простым решением является поиск во всех файлах. Введите «*» при использовании подстановочных знаков. Что соответствовало бы всем линиям. В конце окна результатов поиска вы увидите строку вида:
Matching lines: 563 Matching files: 17 Total files searched: 17
конечно, это не очень хорошо для больших проектов, так как все строки обрабатываются и загружаются в память, которая будет отображаться в окне результатов поиска.
ссылки:
вы можете использовать:
очевидно, что инструменты проще, но я чувствую себя круто, делая это в powershell:)
другое простой инструмент для VS2008 (открытый код): http://www.accendo.sk/Download/SourceStat.zip
можно использовать Метрики Кода Visual Studio PowerTool 10.0. Это утилита командной строки, которая вычисляет несколько метрик управляемого кода для вас (включая строки кода). Вы можете получить плагин VS 2010, который приносит инструмент в Visual Studio, и делает это так же быстро, как выбор пункта меню и нажав кнопку » Анализ решения.»
Количество строк кода (Lines of code)
Физические и логические строки
Существуют две широко используемые методики подсчета строк: подсчет количества «физических» строк и подсчет количества «логических» строк. Следует учесть, что эти термины не являются точно определенными, и нюансы их значений могут быть различны в конкретных случаях. В общем случае, количество «физических» строк обычно равно количеству строк исходных текстов программы, включая комментарии, и, возможно, даже пустые строки. При подсчете «логических строк» делается попытка подсчета исполнимых выражений (операторов, функций и т.д.), однако определения таких выражений отличаются у различных языков программирования.
Отсюда вытекают плюсы и минусы обоих подходов: количество «физических» строк проще определить, но оно сильно зависит от стиля кодирования и форматирования исходного текста; «логические» строки не имеют такого недостатка, зато их количество довольно тяжело подсчитать.
Пример расчета
Рассмотрим следующий код:
В данном случае получается, что в коде содержится 2 физические строки кода, 2 логические строки кода (оператор цикла for и оператор вызова функции printf) и 1 строка комментария.
Если поменять форматирование кода:
то получим уже 5 физических строк кода, но при этом останутся те же 2 логических строки кода и 1 строка комментария.
Количество строк и характеристики программы
. Еще некоторые говорят о программировании как о производственном процессе и измеряют «производительность программиста», основываясь на «произведенном количестве строк кода». Таким образом, они подходят к этому числу с неправильной стороны: всегда нужно понимать его как «затраченное количество строк кода».
Таким образом, с увеличением количества строк кода программы растет её сложность, и как следствие, количество ошибок. К сожалению (а может, и к счастью), технический прогресс неизбежен и системы будут продолжать усложняться, требуя все больше ресурсов для поиска и исправления ошибок (и, разумеется, в процессе исправления также будут добавляться и новые ошибки), так что использование методики статического анализа и специальных инструментов может помочь в уменьшении количества ошибок и увеличении эффективности всего процесса разработки.
Количество кода (в строках или символах)
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Подсчитать, сколько в трёх различных строках буквенных символах, а сколько цифровых
Ребят, помогите пожалуйста написать програмку. Кого просил никто не может. Подсчитать, сколько.
Количество отрицательных элементов, кратных 3 или 5, в строках матрицы
Помогите решить задачу пожалуйста! Дан двумерный массив размерностью 4×5, заполненный целыми.
Написать функцию, которая возвращает количество нулевых бит в символах строки
Есть срочная задача: написать функцию, которая возвращает количество нулевых бит в символах строки.
Ввести с клавиатуры строку. Определить во введенных символах количество гласных и согласных букв
Задание: Ввести с клавиатуры строку. Определить во введенных символах количество гласных и.
Решение
Bespridelschic, ну select-string вытаскивает все подряд строки, я бы не брал в расчет подключение пространств имен. И в VS2015, и в VS2017 имеется функция Analyze->Calculate Code Metrics.
Добавлено через 14 минут
Ну разве что если передать маску, исключающую using.
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Определить, что больше сумма элементов в четных строках или произведение элементов в нечетных строках матрицы
Ребята, помогите пожалуйста кто может, код программы нужен. Заранее огромное спасибо Дан.
Найдите ошибку в 10 строках кода
#include #include int main (void) < char str; printf("string");.
Найти ошибку в трех строках кода
В каких (какой) строчке допущена ошибка Выберите по крайней мере один ответ: #include iostream.
Ошибка в строках кода (расчетная программа)
using System; using System.Collections.Generic; using System.Text; namespace аппроксимация <.
В каких строках кода нет синтаксических ошибок?
$10. В каких строках кода нет синтаксических ошибок: (обоснуйте ответ) int main() < long char c.
автоматический подсчет количества строк
есть проект на цпп, нужно подсчитать количество строк кода в исходных файлах. Может кто знает утилиту для подобного?
з.ы. проект иерархичен, т.е. нужно учитывать подпапки
Re: автоматический подсчет количества строк
Re: автоматический подсчет количества строк
Re: автоматический подсчет количества строк
Re: автоматический подсчет количества строк
ух ты =) спасибо огромное
Re: автоматический подсчет количества строк
> ух ты =) спасибо огромное
Re: автоматический подсчет количества строк
да не, это я про команду wc =) никогда не слышал. а такой подсчет, как вы предложили, действительно не нужен. нужно тупо посчитать строки в курсовике =)
Re: автоматический подсчет количества строк
/path/to/sources/`; do bash count.sh ★★ ( 20.05.08 01:23:56 )
Re: автоматический подсчет количества строк
Re: автоматический подсчет количества строк
Гланды тоже сложным способом удалять будете?
Re: автоматический подсчет количества строк
Не забываем про ARG_MAX:
Re: автоматический подсчет количества строк
Re: автоматический подсчет количества строк
> Не забываем про ARG_MAX
А разве что-то случится? Действительно?
Здесь ldd запускается много раз.
Re: автоматический подсчет количества строк
«On implementations with a large value for
У GNU утилит вроде лимита нет, а в других реализациях вполне может быть.
Re: автоматический подсчет количества строк
> «On implementations with a large value for
И что это нарушает?
Re: автоматический подсчет количества строк
Re: автоматический подсчет количества строк
Значения метрик кода
Повышенная сложность современных программных приложений также повышает сложность обеспечения надежности и сопровождения кода. Метрики кода представляют собой набор оценок программного обеспечения, которые дают разработчикам более глубокое представление о разрабатываемом коде. Используя преимущества метрик кода, разработчики могут понять, какие типы и методы должны быть переработаны или тщательно протестированы. Группы разработчиков могут выявление потенциальных рисков, понимание текущего состояния проекта и отслеживание хода выполнения во время разработки программного обеспечения.
разработчики могут использовать Visual Studio для создания данных метрик кода, которые измеряют сложность и удобство обслуживания управляемого кода. Данные метрик кода могут создаваться для всего решения или отдельного проекта.
сведения о создании данных метрик кода в Visual Studio см. в разделе инструкции. создание данных метрик кода.
Программные измерения
в следующем списке показаны результаты метрик кода, которые Visual Studio вычисляют:
Индекс удобства обслуживания — вычисляет значение индекса от 0 до 100, представляющее относительную простоту обслуживания кода. Высокое значение означает лучшую сопровождаемость. Для быстрого обнаружения проблем в коде можно использовать цветовую маркировку. Зеленая Оценка находится в диапазоне от 20 до 100 и указывает на то, что код обладает хорошей сопровождаемостью. Желтая Оценка находится в диапазоне от 10 до 19 и указывает, что код является умеренно поддерживаемым. Красная Оценка — это оценка между 0 и 9 и указывает на низкую сопровождаемость. Дополнительные сведения см. в разделе Диапазон индекса для удобства поддержки и значение.
Сложностью организации циклов сложность — измеряет структурную сложность кода. Он создается путем вычисления количества различных путей кода в потоке программы. Программа, имеющая сложный поток управления, требует больше тестов для достижения хорошего объема протестированного кода и менее сопровождаемой. Дополнительные сведения см. в записи Википедии для сложностью организации циклов сложность.
Глубина наследования — указывает количество различных классов, которые наследуют друг от друга, вплоть до базового класса. Глубина наследования аналогична взаимосвязанности классов в том, что изменение базового класса может повлиять на любые из его унаследованных классов. Чем выше это число, тем более глубокое наследование и тем выше вероятность внесения изменений в базовый класс, что приводит к критическому изменению. Для более глубокого наследования низкое значение хорошо, а высокое значение является недопустимым.
Взаимосвязь классов — измеряет связь с уникальными классами через параметры, локальные переменные, возвращаемые типы, вызовы методов, универсальные экземпляры или шаблоны шаблонов, базовые классы, реализации интерфейса, поля, определенные во внешних типах, и декорирование атрибутов. Хорошая разработка программного обеспечения определяет, что типы и методы должны иметь высокую связность и низкую связь. Высокая связь указывает на проект, который трудно использовать и поддерживать из-за множества взаимозависимостей от других типов. Дополнительные сведения см. в разделе соединение классов.
Строки исходного кода — указывает точное число строк исходного кода, имеющихся в исходном файле, включая пустые строки. эта метрика доступна начиная с Visual Studio 2019 версии 16,4 и Microsoft. CodeAnalysis. метрик (2.9.5).
Строки исполняемого кода — указывает приблизительное количество строк или операций исполняемого кода. Это количество операций в исполняемом коде. эта метрика доступна начиная с Visual Studio 2019 версии 16,4 и Microsoft. CodeAnalysis. метрик (2.9.5). Значение обычно является близким к предыдущей метрике, строкам кода, которая является метрикой на основе инструкций языка MSIL, используемой в устаревшем режиме.
Строки кода — указывает приблизительное количество строк в коде. Количество основывается на коде IL и, следовательно, не является точным числом строк в файле исходного кода. Большое число может означать, что тип или метод пытается выполнить слишком много усилий и должны быть разделены. Оно также может указывать на то, что тип или метод может быть трудно поддерживать.
Версия командной строки средства метрики кода считает фактические строки кода, поскольку анализирует исходный код, а не IL.
Анонимные методы
Анонимный метод — это просто метод без имени. Анонимные методы чаще всего используются для передачи блока кода в качестве параметра делегата. Результаты метрик кода для анонимного метода, объявленного в элементе, например метод или метод доступа, связаны с членом, который объявляет метод. Они не связаны с членом, который вызывает метод.
Созданный код
Некоторые программные средства и компиляторы создают код, который добавляется в проект, и разработчик проекта не может видеть или не должен изменять его. В основном метрики кода игнорируют сформированный код при вычислении значений метрик. Это позволяет значениям метрик отражать, что может видеть и изменять разработчик.
код, созданный для Windows Forms, не пропускается, так как это код, который разработчик может просматривать и изменять.