подсчитывайте логические строки кода в Ubuntu


Я работаю над веб-приложением, и мне нужно иметь возможность отслеживать php, css, html и JavaScript строки кода в каталоге /var/www.

Но, используя терминальные строки счетчика кода, я, естественно, чувствую желание написать больше строк и выделить код, например:

if($var == $other)echo("hi");

Будет сделано следующим образом:

if($var == $other)
{
    echo("hi");
}

Таким образом, я могу придумать очень большое количество строк, фактически не выполняя никакой реальной работы, есть ли способ подсчитать логические строки кода в справочник? Есть ли какая-нибудь программа, которая может это сделать?

Спасибо!

Author: user115422, 2012-12-30

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, зарегистрированных ошибок (также сомнительных), проверок (то же самое) и т. Д., И тот факт, что существуют такие слабые корреляции с истинной производительностью, просто потерянный.

Проповедь окончена:-)

 5
Author: Pointy, 2012-12-30 00:14:55

Существуют программы, такие как CLOC, которые могут подсчитывать строки кода, исключая комментарии и пустые строки, хотя я не думаю, что они будут работать для вашего примера кода.

Я думаю, что могло бы сработать, если бы мы нашли несколько автоматических форматеров кода, что-то вроде http://jsbeautifier.org /, для каждого языка, и измерьте количество строк в выходных данных (лучше всего использовать вышеупомянутый CLOC). Может уменьшить влияние стиля кодирования конкретного программиста на результат.

 3
Author: kamilk, 2012-12-30 00:24:30

Если вы хотите избежать многих проблем с регулярным выражением или фактически пытаетесь проанализировать код, вы можете просто посчитать количество точек с запятой и закрывающих скобок. Я имею в виду, что это две вещи, которые почти всегда имеют свои собственные линии.

 1
Author: nebuch, 2012-12-30 05:57:26