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

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

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

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

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

Ответы [ 45 ]

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

Они могут быть полезны для указания масштаба приложения - ничего не говорит о качестве! Суть в том, что если вы укажете, что работали над приложением с 1000 строками, а у них приложение (примерно 500 тыс. Строк), потенциальный работодатель может понять, есть ли у вас опыт работы с большими системами против программирования с небольшими утилитами. *

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

0 голосов
/ 09 марта 2015

Может быть полезно при сравнении языков. Однажды я написал небольшой модуль в Groovy и Clojure. В программе Clojure было около 250 loc и Groovy 1000 loc. Интересно, что когда я смотрел на одну сложную функцию и писал ее подобным образом, это было точно такое же количество строк. Это было некоторым признаком того, что код Groovy был заполнен котельной и дал мне несколько дополнительных причин начать использовать Clojure:)

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

Наконец, хотя вы могли бы написать что-то, что трудно прочитать, слишком стараясь уменьшить loc, решение с меньшим количеством loc почти всегда легче читать, поскольку просто меньше читать.

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

Это в основном дополнение к уже громоздкому комментарию. Но в основном строки кода (или, возможно, totalCharacterCount / 60) указывают размер монстра. Как уже говорили несколько человек, это дает представление о сложности кодовой базы. Это уровень сложности имеет большое влияние. Частично это влияет на то, насколько сложно понять систему и внести изменения.

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

Например: предположим, у меня есть проект, и при беглом рассмотрении я понимаю, что вопрос будет включать в себя изменение до 1000 строк кода в приложении, содержащем 10000 строк. Я знаю, что этот проект, вероятно, займет больше времени для реализации, будет менее стабильным и займет больше времени для отладки и тестирования.

Это также чрезвычайно полезно для понимания масштаба изменений между двумя сборками. Я написал небольшую программу, которая проанализирует масштаб изменений между любыми двумя версиями SVN. Он будет смотреть на унифицированную разность и по ней выяснять, сколько строк было добавлено, удалено или изменено. Это помогает мне знать, чего ожидать в тестировании и тестировании, которое следует за новой сборкой. Как правило, большее количество изменений означает, что нам нужно следить за тем, как эта сборка ближе, проходить полное регрессионное тестирование и т. Д.

0 голосов
/ 04 октября 2017

Всегда. Куча новичков по этому вопросу. Мастера пишут код быстро и плотно. Хорошие выпускники пишут много строк, но слишком много пуха. Crappers копируют строки кода. Итак, сначала сделайте анализ Tiles или ворота, конечно.

LoC должен использоваться, если ваша организация не выполняет никаких точек сложности, характерных точек / функциональных точек, фиксации или другого анализа.

Любой разработчик, который говорит вам не измерять его или ее по LoC, является дерьмом. Любой мастер кривошипа закодирует наш, как вы не поверите. Я работал с горсткой, которая в 20–200 раз эффективнее среднего программиста. И их код очень, очень, очень компактный и эффективный. Да, подобно Джистре, у них огромные ментальные модели.

Наконец, в любом начинании большинство людей не очень хорошо в этом разбираются, а большинство делают это не очень хорошо. Программирование ничем не отличается.

Да, проведите анализ попаданий в любом крупном проекте и выясните, что 20% плюс мертвый код. И снова мастера-программисты регулярно уничтожают мертвый код и дерьмовый код.

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

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

...