Первое, что нужно сделать, это определить ваше определение «строки кода» (LOC). В обоих ваш вопрос
Он считает строку только с одним} как строку, и он не хочет, чтобы это считалось "это не строка, это выбор стиля"
и в ответах, например,
Вы можете настроить метрики «Строки кода», игнорируя пустые строки и строки, содержащие только комментарии, или исключив Javadoc, если хотите.
Вы можете сказать, что люди по-разному относятся к тому, что представляет собой строка кода. В частности, люди часто не могут точно сказать, действительно ли им нужно количество строк кода или количество операторов. Например, если у вас есть следующая очень длинная строка, заполненная операторами, о чем вы хотите сообщить: 1 LOC или сотни утверждений?
{ a = 1; b = 2; if (a==c) b++; /* etc. for another 1000 characters */ }
И когда кто-то спрашивает вас, что вы называете LOC, убедитесь, что вы можете ответить, даже если это просто «мое определение LOC - это определение Metrics2». В общем, для наиболее часто отформатированного кода (в отличие от моего примера) популярные инструменты будут давать довольно похожие числа, поэтому Metrics2, SonarQube и т. Д. Должны подойти, если вы используете их последовательно. Другими словами, не следует подсчитывать LOC некоторого кода с помощью одного инструмента и сравнивать это значение с более поздней версией этого кода, измеренной с помощью другого инструмента.