SLOC в cppcheck

Я хочу написать чекер, который можно будет добавить к другим чекерам в CppCheck. Эта программа проверки должна проверять SLOC всех функций-членов, например, функция должна содержать не более 200 значимых строк кода. Но в CppCheck я нашел только метод, который проверяет наличие тела hasBody(), но не количество строк.


person koch_kir    schedule 16.11.2015    source источник
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