Является LOC корректным параметром для оценки проекта? [закрытый]

У Django есть созданный в шаблонном помощнике для этого точного сценария:

https://docs.djangoproject.com/en/dev/ref/templates/builtins/#unordered-list

11
задан Jaswant Agarwal 1 October 2009 в 06:09
поделиться

6 ответов

LOC - это одна прокси-мера для измерения размера проблемы .

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

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

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

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

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

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

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

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

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

1
ответ дан 3 December 2019 в 10:44
поделиться

Steve McConnell in Rapid Development (Microsoft Press, 1996):

Because different programming languages produce such different bangs for a given number of lines of code, much of the software industry is moving toward a measure called "function points" to estimate program sizes. A function point is a synthetic measure of program size that is based on a weighted sum of the number of inputs, outputs, inquiries, and files. Function points are useful because they allow you to think about program размер не зависит от языка.

Google "Function Point" для получения дополнительной информации.

3
ответ дан 3 December 2019 в 10:44
поделиться

Only if you use it in the inverse.

-- Edit

But no. It isn't. It's a mostly useless measure, and generally harmful. As you note, less code is almost always better.

Other things to check? Well, what are you trying to measure? What result do you want to see from a change in the things that you would be checking? What sort of decisions will you be making on the basis of these changes?

1
ответ дан 3 December 2019 в 10:44
поделиться

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

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

Аналогичным образом, добавление относительно большого количества кода в один модуль с ограниченным объемом, который легко тестируется, может быть всего несколько дней.

* они должны делать, по крайней мере. Если они тратят больше времени на написание кода, чем на его тестирование, вероятно, он полон ошибок. И я имею в виду ДО того, как он попадет в вашу специальную команду QA.

2
ответ дан 3 December 2019 в 10:44
поделиться

Нет, это не так. Причина проста: если вы создаете новую строку кода во время разработки, приблизитесь ли вы на шаг к решению? Если вы оценили 1000 строк кода для выполнения задачи, выполнили ли вы эту задачу на 0,1%?

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

Вот некоторые полезные и измеримые факторы, которые стоит учесть:

  1. Часы работы.
  2. Затраченные доллары: это хороший показатель, потому что он убедительно свидетельствует о том, что вы предпочитаете находить ошибки на рабочем столе разработчика. чем в руках тестировщика или покупателя).
  3. Вехи достигнуты:
1
ответ дан 3 December 2019 в 10:44
поделиться

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

0
ответ дан 3 December 2019 в 10:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: