2013-09-24 2 views
1

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

Мой вопрос касается веса, который я должен «прикрепить» к файлам, которые состоят из проекта. Я должен взвешивать файлы в относительном порядке, чтобы мы, наконец, получили взвешенный знак. Например: если у меня есть проект CPP, я считаю, что мне нужно дать другой вес в файл cpp; h файлов и текстовых файлов, так как время, вложенное в каждый тип файла, сильно отличается.

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

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

Спасибо

+6

извините, я знаю вы не хотите слышать это ... но измерение чего-либо в строках кода такое же, как измерение аэроплана на общий вес «сделано еще» по отношению к «он способен летать сейчас?» - Ив видел сотни строк, которые можно было реорганизовать в 10 строк «сделано правильно». – Najzero

+5

Я действительно не рассматривал бы LoC как значимую метрику. Например, сравните код, который использует Linq экстенсивно с кодом, который этого не делает. LoC - это метрика стиля 1980-х годов. http://stackoverflow.com/questions/184071/when-if-ever-is-number-of-lines-of-code-a-useful-metric –

+0

LoC - довольно хорошая метрика * усилия *, помещенная в проект , Кто-то, кто написал код с LINQ, приложил в него гораздо меньше усилий, чем тот, кто написал эквивалентный код в сборке. Конечно, усилия! = Производительность и усилия! = Качество. –

ответ

2

Вы могли бы быть заинтересованы в COCOMO модели II. Однако будьте осторожны, что оценка кода по количеству строк может быть очень ошибочной - не используйте ее для компенсации ваших разработчиков, или они начнут писать очень подробный код, и вы быстро обанкротитесь;)

+0

Спасибо. Я нашел это: http://en.wikipedia.org/wiki/COCOMO. Вы уверены, что это относится к весу? Я не мог найти так –

+0

COCOMO II использует множество различных весов для таких вещей, как умение команды, сложность проекта и т. Д. Однако я не знаю, использует ли он весы, зависящие от языка программирования. Однако, это очень спорная тема: некоторые люди скажут, что код Python на 10 раз короче, чем эквивалентный код на C++, некоторые скажут, что это всего лишь 2x, и единственная уверенность в том, что это зависит от умения проекта и программиста. –

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