Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
(Модератор:
Вад
) > Тема:
Calculate LLOC С++
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Calculate LLOC С++ (Прочитано 10711 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Andriy_abc
Интересующийся
Offline
Calculate LLOC С++
«
:
21-08-2015 08:34 »
Пожалуйста посоветуйте, чтоб не изобретать велосипед.
Задача расчет LLOC (
https://en.wikipedia.org/wiki/Source_lines_of_code
). Нужен код, готовая реализация не подходит.
Вопрос: возможно, есть код парсера, который реализует похожие задачи. Пож. подскажите ссылку. Если такой реализации нет, подскажите статейку о похожих парсерах, чтоб не начинать решать задачу с нуля.
Заранее большое спасибо за Ваше время.
P.S. К сожалению подсчет ‘;’ или ‘/n’ и т.д. не подходит как упрощенный вариант решения.
Записан
Dale
Блюзмен
Команда клуба
Offline
Пол:
Re: Calculate LLOC С++
«
Ответ #1 :
21-08-2015 08:44 »
Отсюда
ничего не подошло?
Записан
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Andriy_abc
Интересующийся
Offline
Re: Calculate LLOC С++
«
Ответ #2 :
21-08-2015 09:03 »
Большое спасибо за оперативную помощь! Думаю что-то должно подойти.
Записан
Dale
Блюзмен
Команда клуба
Offline
Пол:
Re: Calculate LLOC С++
«
Ответ #3 :
21-08-2015 09:11 »
Весь юмор состоит в том, что сам я ничего не искал, ссылку взял из вами же процитированной статьи в Википедии (самый низ страницы).
Записан
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Andriy_abc
Интересующийся
Offline
Re: Calculate LLOC С++
«
Ответ #4 :
21-08-2015 09:22 »
)))) Да понятно, просто я не большой спец, пока бы я все перелопатил прошло бы часа три. Поэтому спасибо)))
Записан
Andriy_abc
Интересующийся
Offline
Re: Calculate LLOC С++
«
Ответ #5 :
21-08-2015 17:58 »
Dale, подскажите пожалуйста. Вики пишет что:
Измеряя логические строки кода, предпринимается попытка посчитать количество собственно операторов в программе, простейший способ посчитать количество логических строк кода в Си-в подсчёте числа точек с запятой, заканчивающих операторы. При этом
for (i=0; i<100; ++i) printf("привет");
2 логические строки кода (Оператор цикла for и оператор вызова функции printf)
как получить цифру "2 логические строки кода" не перебирая при этом все ключевые слова С++?
В предложенных примерах идет расчет по количеству ';' и по количеству вложений '{}', но цифра 2 из вышеуказанной строки не получается.
Записан
Dale
Блюзмен
Команда клуба
Offline
Пол:
Re: Calculate LLOC С++
«
Ответ #6 :
22-08-2015 14:14 »
Простейший способ - не значит достоверный и в случае с циклом просто не работает. К тому же точки с запятой завершают не только операторы, но и объявления. Если хотите получить более-менее правдоподобную метрику, инструмент следует строить на основе парсера. Хотя LOC - не настолько критичная (и к тому же не слишком вразумительная) метрика, чтобы ошибка в 10-20% была существенной. Простой рефакторинг может запросто изменить ее в этих пределах.
Я бы сделал проще: прогонял бы исходный текст через форматтер и просто считал получившиеся строки (возможно, выкидывая комментарии и пустые строки, хотя правильные комментарии по сути тот же код). Само собой, настройки форматтера должны быть одинаковыми, иначе метрика будет гулять еще сильнее.
Записан
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
(Модератор:
Вад
) > Тема:
Calculate LLOC С++
Загружается...