Когда, если вообще, "число строк кода" является полезной метрикой? - PullRequest
50 голосов
/ 08 октября 2008

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

  • Я пишу бессмысленные строки кода за день.
  • У меня есть x строк кода.
  • Windows - это миллион строк кода.

Вопрос: Когда «строки кода» полезны?

ps: обратите внимание, что когда делаются такие заявления, звучит «больше, тем лучше».

Ответы [ 45 ]

0 голосов
/ 08 октября 2008

Я нашел это полезным при двух условиях:

  1. Измерение моей собственной продуктивности в моем новом проекте, когда он сокращает время кодирования.

  2. При работе с крупной компанией и общении с менеджером, который действительно понимает только виджеты в день.

0 голосов
/ 08 октября 2008

Прежде всего, я исключил бы сгенерированный код и добавил бы код входа генератора и самого генератора.

Я бы тогда сказал (с некоторой иронией), что каждая строка кода может содержать ошибку и должна быть исправлена. Чтобы поддерживать больше кода, вам нужно больше разработчиков. В этом смысле больше кода создает больше рабочих мест.

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

0 голосов
/ 17 мая 2012

Строки кода не являются полезной метрикой для сравнения различных проектов.

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

Даже в этом контексте я бы сказал, что сама фигура «Строки кода» не имеет значения; полезна визуализация тренда - устойчивый подъем вверх по мере добавления новых функций; прыжки, где завершаются крупные проекты; провалы, где был удален лишний код.

0 голосов
/ 08 октября 2008

Количество кодов, добавленных для данной задачи, во многом зависит от того, кто пишет код. Это не должно использоваться в качестве меры производительности. Данный человек может создать 1000 строк избыточного и запутанного дерьма, в то время как эту проблему может решить другой человек в 10 сжатых строках кода. При попытке использовать LOC, добавленный в качестве метрики, также необходимо учитывать фактор «кто».

Фактически полезной метрикой будет «количество найденных дефектов по сравнению с количеством добавленных линий». Это даст вам представление о возможностях кодирования и охвата тестами для данной команды или отдельного лица.

Как уже отмечали другие, удаленный LOC обладает лучшими правами хвастовства, чем добавил LOC:)

0 голосов
/ 09 октября 2008

Функционально никогда, кроме ранее упомянутой цели "хвастовства".

Линии! = Эффективность. Часто, по моему опыту, отношения обратные (хотя не строго, особенно по экстремальным, по понятным причинам)

0 голосов
/ 13 сентября 2010

Количество LOC полезно при расчете частоты дефектов (ошибок на 1000 LOC и т. Д.)

0 голосов
/ 08 октября 2008

Я слышал, что Microsoft увольняла 5% людей каждые 6 месяцев, я всегда думал, что это будет основано на написанных строках кода, поэтому Windows такая громоздкая, медленная и неэффективная;). Строки кода - это полезная метрика для измерения сложности приложения с точки зрения приблизительного упорядочения, то есть программа для начинающих на Basic может содержать 10 строк кода, 100 строк кода - это игрушечное приложение, 50000 строк - приложение разумного размера, 10 миллион строк кода - это чудовище под названием Windows.

Строки кода не очень полезная метрика, хотя я раньше писал игры на ассемблере (в основном 68000), они измеряли около 50 тыс. Строк кода, но я уменьшал количество строк кода, не нажимая регистры в стеке и отслеживание того, что содержалось в регистрах, чтобы сократить размер кода (другие знакомые мне программисты продвигали кратное из d0-d7, a0-a6 в стек, что, очевидно, замедляет код, но упрощает отслеживание того, что затронуто).

0 голосов
/ 29 октября 2009

Это часто используется во время презентаций по продажам. Например, KLoC (Kilo Lines of Code) или LoC используется для демонстрации той компетенции, которую организация поставщика имеет в отношении больших / сложных систем. Это особенно верно, когда поставщик пытается продемонстрировать свою способность обслуживать сложные устаревшие системы. Как часть переговоров, иногда организация заказчика предоставляет представительный кусок кода для выполнения Proof of Concept вместе с поставщиком для проверки возможностей поставщика. Этот типичный код будет иметь достаточно сложностей для обработки компанией-поставщиком, а также с точки зрения продаж, связанных с "обслуживанием Системы с несколькими миллионами LoC "могут попасть под радар.

Итак, да, строки кода используются и злоупотребляют во время презентаций по продажам и, следовательно, являются полезным показателем в продажах.

0 голосов
/ 09 октября 2009

Строки кода зависят от языка.

Например, 1 строка кода на C стоит в среднем x строк кода ASM. 1 строка C ++ -> C и т.д ....

Java и C # инкапсулируют довольно много строк кода благодаря фоновой поддержке со стороны виртуальной машины.

0 голосов
/ 08 октября 2008

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

...