подсчитывайте логические строки кода в Ubuntu
Я работаю над веб-приложением, и мне нужно иметь возможность отслеживать php
, css
, html
и JavaScript
строки кода в каталоге /var/www
.
Но, используя терминальные строки счетчика кода, я, естественно, чувствую желание написать больше строк и выделить код, например:
if($var == $other)echo("hi");
Будет сделано следующим образом:
if($var == $other)
{
echo("hi");
}
Таким образом, я могу придумать очень большое количество строк, фактически не выполняя никакой реальной работы, есть ли способ подсчитать логические строки кода в справочник? Есть ли какая-нибудь программа, которая может это сделать?
Спасибо!
3 answers
С оговоркой, что значимость показателя "строки кода" весьма сомнительна, вы могли бы начать с выделения пустых строк.
find . -name '*.php' -print0 | xargs -0 cat | egrep -v '^[ \t]*$' | wc
(например).
Для таких языков, как JavaScript, личный стиль кодирования может оказать действительно значительное влияние на необработанный LOC. Учтите, что некоторые люди пишут так:
if (testSomething()) return null;
if (somethingElse()) {
doThis();
} else {
doThat();
}
И некоторые люди пишут так:
if (testSomething())
{
return null;
}
if (somethingElse())
{
doThis();
}
else
{
doThat();
}
Что было бы несколько более полезным (хотя все еще, на мой взгляд, сомнительным), было бы то, что будет считаться что-то вроде "заявлений". Конечно, вам понадобится инструмент, который явно понимал бы синтаксис разных языков.
Я называю эту статистику "сомнительной", потому что в организациях слабая природа числа, как правило, забывается по мере того, как оно попадает в таблицу за таблицей. Менеджеры проектов начинают извлекать тенденции на основе LOC, зарегистрированных ошибок (также сомнительных), проверок (то же самое) и т. Д., И тот факт, что существуют такие слабые корреляции с истинной производительностью, просто потерянный.
Проповедь окончена:-)
Существуют программы, такие как CLOC, которые могут подсчитывать строки кода, исключая комментарии и пустые строки, хотя я не думаю, что они будут работать для вашего примера кода.
Я думаю, что могло бы сработать, если бы мы нашли несколько автоматических форматеров кода, что-то вроде http://jsbeautifier.org /, для каждого языка, и измерьте количество строк в выходных данных (лучше всего использовать вышеупомянутый CLOC). Может уменьшить влияние стиля кодирования конкретного программиста на результат.
Если вы хотите избежать многих проблем с регулярным выражением или фактически пытаетесь проанализировать код, вы можете просто посчитать количество точек с запятой и закрывающих скобок. Я имею в виду, что это две вещи, которые почти всегда имеют свои собственные линии.