2008-10-28 4 views
0

Что вы думаете об использовании метрики функции, указывающей на строки кода как метрики?Функция указывает на отношение kloc в качестве показателя программного обеспечения ... метрика «Name That Tune»?

Это заставляет меня думать о старом игровом шоу «Name That Tune». «Я могу назвать эту мелодию тремя нотами!» Я могу написать эту функциональность в 0.1 klocs! Это полезно?

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

ответ

4

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

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

0

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

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

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

0

«Что вы думаете об использовании метрики функции, указывающей на строки кода как метрики?»

Не задавайте вопрос. Вышеуказанное соотношение - для данного языка и команды - простой статистический факт. И он имеет тенденцию к среднему значению с небольшим стандартным отклонением.

Существует множество степеней свободы: как вы подсчитываете функциональные точки, какой язык вы используете, как (коллективно) умнее команда. Если вы не измените эти вещи, значение останется неизменным.

После нескольких проектов вместе у вас есть надежное ожидание, что 1200 функциональных точек будут составлять 12 000 строк кода в предпочитаемом языке/структуре/организации команды.

KSloc/FP является статистическим наблюдением. Ясно, что в этом есть что-то еще, что вас беспокоит. Не могли бы вы быть более конкретными в своем вопросе?

0

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

Это обычно означает что-то вдоль линий

grep -c ";" *.h *.cpp | awk -F: '/:/ {x += $2} END {print x}' 

Если вы ищете «Метрика» для отслеживания кода высокую производительность, не делать.Если вы настаиваете, снова попробуйте что-то глупое, но простое, как размер исходного файла (см. Команду grep выше, без awk-канала) или McCabe (со встречной программой).

0

Метрика функциональных точек на линии кода фактически используется для создания диаграмм уровня языка (фактически, это функция указывает на выражения), чтобы дать приблизительное представление о том, насколько мощный язык программирования. Вот пример: http://web.cecs.pdx.edu/~timm/dm/functionpoints.html

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

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

Я лично хотел бы видеть функциональную точку для коэффициента метрики ABC - поскольку мне любопытно, как будет относиться метрика ABC (которая указывает размер и включает в себя сложность как часть информации) - возможно, линейную, возможно экспоненциальную, и т.д. ... www.softwarerenovation.com/ABCMetric.pdf

 Смежные вопросы

  • Нет связанных вопросов^_^