Использование LOC для определения размера проекта - PullRequest
1 голос
/ 03 июня 2009

Сколько строк кода (LOC) требуется, чтобы считаться большим проектом? Как насчет одного человека, пишущего это?

Я знаю, что этот показатель сомнителен, но для одного разработчика существует существенная разница между 1k и 10k LOC. Обычно я использую пространство для удобства чтения, особенно для операторов SQL, и стараюсь уменьшить количество LOC для целей обслуживания, чтобы следовать как можно большему количеству рекомендаций.

Например, я создал унифицированную разность кода, который я изменил сегодня, и он был больше 1 КБ (включая комментарии и пустые строки). Является ли «модифицированный LOC» лучшим показателем? У меня ~ 2k LOC, поэтому удивительно, что я изменил 1k. Я думаю, что перезапись считается как удаление, так и добавление, что удваивает статистику.

Ответы [ 4 ]

3 голосов
/ 03 июня 2009

Немного менее бесполезная метрика - время компиляции.
Если для компиляции вашего проекта требуется больше ... скажем, 30 минут, он велик:)

2 голосов
/ 03 июня 2009

Возможно, другим измерением для этого будет измерение COCOMO - хотя оно, вероятно, так же бесполезно, как и LOC.

Один разработчик может выполнять только органические проекты - «маленькие» команды с «хорошим» опытом работы с «менее жесткими» требованиями.

В этом случае эффорд, применяемый в человеко-месяцах, рассчитывается как

2.4 * (kLOC)^1.05

При этом для 1kLOC потребуется 2,52 человеко-месяца. Чтобы уточнить это, вы можете использовать несколько факторов в зависимости от атрибутов продукта, оборудования, персонала и проекта.

Но все, что мы сделали сейчас, - это проецируемое LOC для измерения времени. Здесь вам снова нужно решить, считается ли двухмесячный или 20-месячный проект большим.

Но, как вы сказали, LOC, вероятно, не является правильной мерой для использования. Ключевые слова: метрики программного обеспечения, функциональные точки, доказательное планирование, игра в планирование.

2 голосов
/ 03 июня 2009

Используя Steve Yegge в качестве ориентира в верхнем диапазоне шкалы, скажем, что 500k строк кода - это (больше?) Максимум, который может поддерживать один разработчик.

Более серьезно, хотя; Я думаю, что после того, как вы нажмете 100k LOC, вы, вероятно, захотите начать искать ре-факторинг перед расширением кода.

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

1 голос
/ 03 июня 2009

По-моему, это также зависит от дизайна вашего кода - я работал над проектами в диапазоне 1-10K loc, которые были настолько плохо спроектированы, что это казалось очень большим проектом.

Но действительно ли LOC - интересная мера для кода? ;-)

...