Что количество строк кода говорит вам о вашем приложении?

Недавно наши менеджеры попросили найти строки кода в нашем приложении. Я действительно размышлял с тех пор; что означает этот показатель?

  1. Нужно ли измерять среднее количество строк кода, написанных разработчиком за это время?

    • IF no re-factoring happens then this can be a possibility.
  2. Говорит ли это о том, насколько хорошо ваше приложение?

  3. Помогает ли это в маркетинге продукта?

Я не знаю, как это помогает. Может ли кто-нибудь направить меня в правильном направлении или ответить, что означает этот показатель?

Спасибо.

Кое-что, что я нашел недавно http://folklore.org/StoryView.py?project=Macintosh&story=Negative_2000_Lines_Of_Code.txt&sub=HN0


person Egalitarian    schedule 06.05.2012    source источник
comment
Я голосую за то, чтобы закрыть этот вопрос как не по теме, потому что он, похоже, не имеет прямого отношения к программированию.   -  person cs95    schedule 05.02.2019


Ответы (3)


Количество строк кода — популярная, но проблематичная метрика.

Преимущества

  1. Количество строк кода показывает умеренную (0,4-0,5) корреляцию с количеством ошибок [Rosenberg 1997, Zhang 2009], т. е. в больших модулях обычно больше ошибок, и, что может быть интереснее, больше ошибок в строке [Fenton and Ohlsson 2000, Чжан 2009]. Я хотел бы подчеркнуть, что есть лучшие (но более сложные) способы прогнозирования количества ошибок.
  2. Количество строк кода можно использовать для прогнозирования усилий по разработке, т. е. существуют модели прогнозирования усилий (например, COCOMO), которые принимают количество строк исходного кода в качестве одного из входных параметров.
  3. Некоторые более сложные объектно-ориентированные метрики демонстрируют сильную корреляцию с размером класса [El Emam et al. 2001].

Недостатки

  1. Использование строк кода в качестве меры производительности чрезвычайно проблематично, поскольку становится трудно сравнивать модули на разных языках или написанные разными разработчиками. Действительно, некоторые языки более многословны из-за, например, наличия/отсутствия «встроенной» функциональности или структурной многословности (например, .h в C). Более того, как уже упоминалось выше, некоторым разработчикам платят за строку кода, что обязательно приводит к смехотворно сложному коду. Наконец, следует учитывать генерацию кода.
  2. Хотя «строки кода» являются общепринятой метрикой, нужно быть осторожным при различении различных видов «строк кода»: с пустыми строками или без, с комментариями или без, с учетом логических выражений физических строк...
person Alexander Serebrenik    schedule 06.05.2012
comment
некоторым разработчикам платят за строку кода, что обязательно приводит к смехотворно сложному коду, я бы сказал, к смехотворно избыточному коду копирования и вставки. Давайте напишем скрипт, который разворачивает каждый цикл, независимо от того, сколько у него итераций. Через несколько часов мы все станем миллиардерами :) - person Kaiserludi; 02.08.2013

Что количество строк кода говорит вам о вашем приложении?

Количество строк кода примерно скажет вам, сколько места на диске вам нужно для хранения несжатых исходных файлов. Даже это грубо, так как каждая строка будет иметь разное количество символов и могут использоваться разные кодировки (UTF-8 занимает вдвое больше места на диске, чем Latin-1).

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

No.

Говорит ли это о том, насколько хорошо ваше приложение?

No.

Помогает ли это в маркетинге продукта?

No.

person dotancohen    schedule 06.05.2012
comment
UTF-8 занимает вдвое больше места на диске, чем Latin-1. Я сильно сомневаюсь, что для текста это полностью отображается в Latin-1. - person Kaiserludi; 02.08.2013

Это говорит о том, что ваши менеджеры некомпетентны.

Если бы вас измеряли количеством строк кода, как разработчик, что бы вы сделали для достижения цели...

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

person Tony Hopkinson    schedule 06.05.2012