Минимальная стоимость кода по кол-ву символов
От: 0K Ниоткуда  
Дата: 13.08.10 00:47
Оценка: -1 :)
Вот такой вот метрик решил рассмотреть.

Кол-во символов в принципе отражает сколько человек потратил времени на написание кода. Скажем, быстрее 400 символов в минуту мало кто пишет. А если еще и учесть время на обдумать -- то можно смело взять около 100 символов.

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

Интересно узнать у кого какая стоимость символа получается?

Я прикинул -- для средних C#-овых проектов по 20 у.е. (берем стоимость для Украины) за час честной работы -- один символ стоит около 0.0033 у.е. И ИМХО, вполне реально отражает стоимость проекта.

Нельзя применять для слишком сложных (особенно с нестандартными алгоритмами) проектов, где 90% времени уходи на обдумывание. А для средних как мерило минимальной стоимости (подчеркиваю минимальной) -- вполне подходит.

Ваши возражения?
Re: Минимальная стоимость кода по кол-ву символов
От: midcyber
Дата: 13.08.10 01:59
Оценка:
Здравствуйте, 0K, Вы писали:

0K>Кол-во символов в принципе отражает сколько человек потратил времени на написание кода.

0K>Вычесть нужно автогенерированный код и код, который программист скопировал из других источников.

Как ты можешь заметить, в современной разработке количество генеренного и автокомплитного текста превосходит набранный.
Также, непонятно собираешься ли ты считать пробелы и нравятся ли тебе длинные имена переменных.
За код, который скопирован из других источников, обычно вообще надо по рукам (как в случае опенсорс->коммерческий, так и наоборот)
Re: Минимальная стоимость кода по кол-ву символов
От: FR  
Дата: 13.08.10 03:29
Оценка: +1 :))) :))
Здравствуйте, 0K, Вы писали:

0K>Ваши возражения?


Смысл?
Любая метрика если по ней начать платить деньги моментально обходится и будет у тебя такой типичный код:

if(SyperPyperSmallCoolVeryImportantVariableForThisTheMostGreatChoice == THE_MOST_IMPORTANT_IN_THIS_PROGRAM_AND_IN_GENERAL_ALL_OVER_THE_WORLD_AND_UNIVERSAL_CONSTANT)
     the_most_small_and_the_most_unimportant_function_in_given_program_intended_to_enlarge_payment_of_the_labour_of_the_developer();
Re: Давай достанем линейку
От: vpchelko  
Дата: 13.08.10 09:13
Оценка:
Сабж.
Сало Украине, Героям Сала
Re: Минимальная стоимость кода по кол-ву символов
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 13.08.10 09:20
Оценка:
Здравствуйте, 0K, Вы писали:

0K>Ваши возражения?


Ты вроде имеешь 10-летний опыт программирования и не знаешь что метрики, основывающиеся на исходном коде, кардинально плохо работают?

Ты даже сам привел пример со сложными алгоритмами.

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

ЗЫ. Зато постфактум метрики по исходникам позволяют неплохо собирать статистику.
Re[2]: Минимальная стоимость кода по кол-ву символов
От: x64 Россия http://x64blog.name
Дата: 13.08.10 15:04
Оценка: :))
FR>Любая метрика если по ней начать платить деньги моментально обходится и будет у тебя такой типичный код:

А если построчно мерять?
Мухлевать тоже можно будет, разумеется, но не в таких масштабах, imho.
JID: x64j@jabber.ru
Re[3]: Минимальная стоимость кода по кол-ву символов
От: FR  
Дата: 13.08.10 16:48
Оценка:
Здравствуйте, x64, Вы писали:

FR>>Любая метрика если по ней начать платить деньги моментально обходится и будет у тебя такой типичный код:


x64>А если построчно мерять?


Это просто праздник будет

x64>Мухлевать тоже можно будет, разумеется, но не в таких масштабах, imho.


Угу в еще больших, такие "красивые" иерархии классов будут пальчики оближешь
Re[4]: Минимальная стоимость кода по кол-ву символов
От: Privalov  
Дата: 13.08.10 17:25
Оценка: :))
Здравствуйте, FR, Вы писали:

x64>>А если построчно мерять?


FR>Это просто праздник будет


Дак вроде уже было. Говорят, что оплата по количеству написанных строк — одна из причин, по которой PL/1 не вытеснил COBOL.
Re: Минимальная стоимость кода по кол-ву символов
От: olexandr Новороссия http://demotivation.me/images/20140818/lxz0l278b9ep.jpg
Дата: 13.08.10 23:37
Оценка:
Здравствуйте, 0K, Вы писали:

0K>Ваши возражения?


Возможно имела бы смысл обратная метрика — за написание/изменение более чем Н строчек в день штрафные поинты. При этом Н зависит от типа проэкта (для нового кода больше, для сопровождения и правки багов поменьше) и конкретной фичи над которой идет работа. Но это каждый раз заново оценивать и считать придется. А зачем, уже ведь есть примерная оценка сколько это займет дней/часов на кодинг/написание юнит-тестов/тестов/документирование/ревью/... И под этой оценкой уже подписались и девелоперы и тестеры и менеджеры.
Некроссплатформенность маловероятна (c) Sheridan
...трава никак не влияет, разве что срывает покровы барьеров... (с) мыщъх
Re[2]: Минимальная стоимость кода по кол-ву символов
От: midcyber
Дата: 13.08.10 23:58
Оценка:
Здравствуйте, olexandr, Вы писали:

O>штрафные поинты.


Это что еще за зверь
Re[3]: Минимальная стоимость кода по кол-ву символов
От: olexandr Новороссия http://demotivation.me/images/20140818/lxz0l278b9ep.jpg
Дата: 14.08.10 00:25
Оценка:
Здравствуйте, midcyber, Вы писали:


O>>штрафные поинты.

M>Это что еще за зверь

Ну, к примеру, есть у тебя на каждую итерацию 1000 поинтов. За всякие косяки они снимаются. А потом самые худшие работники итерации проставляются пончиками с утра, либо пишут юнит-тестов где их меньше всего, либо обновляют спеки (: Можно что-то придумать.

Это не рецепт, и не совет, это всего лишь попытка придумать как идеи топикстартера можно применить в реальной жизни так чтобы оно не только мешало и надоедало, но чтобы еще и пользу хоть-какую можно было извлечь (:
Некроссплатформенность маловероятна (c) Sheridan
...трава никак не влияет, разве что срывает покровы барьеров... (с) мыщъх
Re: Минимальная стоимость кода по кол-ву символов
От: Young yunoshev.ru
Дата: 14.08.10 11:57
Оценка: 1 (1)
Здравствуйте, 0K, Вы писали:


0K>Интересно узнать у кого какая стоимость символа получается?


0K>Я прикинул -- для средних C#-овых проектов по 20 у.е. (берем стоимость для Украины) за час честной работы -- один символ стоит около 0.0033 у.е. И ИМХО, вполне реально отражает стоимость проекта.


Нефига вы там себе на C# строчите....

Я тут замерил С++ код разработки мобильной игры — т.е. взял сумму (заниженную, там еще роялти были) которую за разработку заплатили и поделил на размер исходников. Получилось 0.02 доллара за символ. Если считать по 20 баксов за час то получится еще больше.... Платформа была новая, поэтому код включая системый весь.

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

Это что касается случая когда фрейморк пишется с нуля. Если говорит о том что база есть, и мы ее используем то в раза 2-3 дороже может получатся.

Плюс смотря какой проект, у меня от есть сейчас проект с почасовой оплатой исправление багов в чужом проекте, там если исходить за 20 баксов в час стоимость символа до 1 бакса доходит на дистанции в месяц.
Re: Минимальная стоимость кода по кол-ву символов
От: Mamut Швеция http://dmitriid.com
Дата: 16.08.10 11:45
Оценка:
0K>Кол-во символов в принципе отражает сколько человек потратил времени на написание кода.

Не отражает. Обдумывание, прототипирование, обсуждение, ковыряние в носу кто оценивать будет?

0K>Скажем, быстрее 400 символов в минуту мало кто пишет. А если еще и учесть время на обдумать -- то можно смело взять около 100 символов.


0K>Я прикинул -- для средних C#-овых проектов по 20 у.е. (берем стоимость для Украины) за час честной работы -- один символ стоит около 0.0033 у.е. И ИМХО, вполне реально отражает стоимость проекта.


0K>Нельзя применять для слишком сложных (особенно с нестандартными алгоритмами) проектов, где 90% времени уходи на обдумывание. А для средних как мерило минимальной стоимости (подчеркиваю минимальной) -- вполне подходит.


0K>Ваши возражения?


Где заканчивается средний и начинается сложный?


dmitriid.comGitHubLinkedIn
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.