Я хочу написать чекер, который можно будет добавить к другим чекерам в CppCheck. Эта программа проверки должна проверять SLOC всех функций-членов, например, функция должна содержать не более 200 значимых строк кода. Но в CppCheck я нашел только метод, который проверяет наличие тела hasBody()
, но не количество строк.
SLOC в cppcheck
comment
А у вас вопрос?
- person fghj   schedule 16.11.2015
comment
@user1034749 user1034749 как я могу подсчитать количество строк в коде функции.
- person koch_kir   schedule 16.11.2015
Ответы (1)
Я разработчик cppcheck. Я не эксперт в этой теме. Я думаю, это зависит от того, что именно вы хотите посчитать. это сколько строк:
void f() { int x=3; int y=x+2; dostuff(x+y+4); }
Я предполагаю, что вы хотите просмотреть токены и посчитать точки с запятой или что-то в этом роде:
for (tok = functionScope->classStart; tok != functionScope->classEnd; tok = tok->next()) {
if (tok->str() == ";")
++lines;
}
Я думаю, что предложенная вами программа проверки интересна, но она плохо вписывается в основной инструмент cppcheck. Я бы посоветовал вам написать аддон. Я буду рад добавить его в нашу папку дополнений и показать в графическом интерфейсе и т. д.
Кстати... Я подумал, что было бы неплохо интегрировать (выполнять и читать результаты) ohcount, cccc или что-то еще в графическом интерфейсе, чтобы можно было отображать расширенную статистику.
person
Daniel Marjamäki
schedule
26.10.2017