0 / 0 / 0
Регистрация: 08.08.2009
Сообщений: 10
1

Соотношение количества и качества в работе программиста

08.08.2009, 02:05. Показов 2145. Ответов 18
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть такой давно интересующий вопрос, на который я получал множество разных ответов как от проджект- менеджеров так и от обычных кодеров.
Какой должна быть скорость работы программиста и в чем ее измерять? И как определить качество работы программиста по количеству найденных в его коде ошибок бета-тестерами, его коллегами или в конце концов самими пользователями? Каков допустимый уровень 'глючности' программы на разных стадиях разработки?
И как соотносятся скорость разработки программы и ее 'глючности'? Каково должно быть это соотношение чтобы программист мог считаться настоящим профессионалом?
И каковы эти цифры для разных платформ, языков и технологий?
Сам я человек темный, малообразованный и хотелось бы получить разумный и точный ответ от многоуважаемых господ программеров и девелоперов.
(При ответе на вопрос условимся на том, что мы пишем не какую нибудь навороченную систему в которой множество ноу-хау и мы не делаем революцию в разработке ПО.)
А вот основные ответы по поводу скорости разработки и оценки 'глючности', которые мне удалось получить:
1. Все определяется субъективно. Поставь пиво своему ПМ и коллегам и не морочь себе голову
2. если ты гуру ты будешь писать 2000 строк в день, занимаясь системным программированием под юникс
3. если ты простой кодер, ты обязан писать не менее 500 строк в день
4. пиши 120 строк в день и не напрягайся
5. 10-30 кб исходников 'пальцами' без копи энд паст - это недельная норма
6. 10 кб кода в день 'пальцами' без копи энд паст
7. 60 символов в минуту на сях
8. от ошибок никто не застрахован, смирись, гордыня - это грех
9. программирование - это очень творческая работа и измерению тут ничего не поддается, доверяй тому что тебе говорит твой ПМ и более опытные коллеги
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.08.2009, 02:05
Ответы с готовыми решениями:

Оцените пожалуйста совместимость и соотношение цены-качества
Проц - Intеl Core i7 - 4770, Вентель на проц - Thermalright Silver Arrow SB-E, Материнка - Asus...

Помогите пожалуйста выбрать ноутбук. Что бы было оптимальное соотношение цены и качества.
Помогите пожалуйста выбрать ноутбук. Что бы было оптимальное соотношение цены и качества. Хочется...

Личностные качества программиста :)
Вопрос 1: Какими личностными качествами, по вашему мнению (даже если Вы не программист) должен...

В лаборатоной работе выходит соотношение
в лабораторной работе выходит соотношение 10,59 мкФ = 9,88 мКФ, но 9,88 это маленькое значение...

18
4 / 4 / 1
Регистрация: 13.08.2008
Сообщений: 931
08.08.2009, 03:56 2
вопрос глобальный и настроения его подробно расписывать сейчас нет. может позже, если народ подключится

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

другой пример. можно схватиться и кодировать 2 недели 'продуктивно' по Х тысяч строк в день. при этом Х/3 (это если вовремя спохватились еще) может быть всего лишь переписыванием и решением проблем уже написанного кода, но никак не продуктивными строчками. а можно один (может и 2 дня не писать ни строчки, а взять бумажку, карандашик, отодвинуть ящик с Rational Rose и подобными бегемотами подальше и заниматься дизайном кода. чтобы потом на третий день сесть и написать все за 2 дня, а не бешенно строчить код всю неделю.

основная идея такая. правильно примененный паттерн в нужном месте может сократить вам код на несколько порядков. а вообще, реально становится ясен уровень программера, когда он уходит, а его код должен продолжать поддерживать кто-то другой. вот тут все гадости и проявятся а толку??
0
0 / 0 / 0
Регистрация: 08.08.2009
Сообщений: 10
08.08.2009, 04:19  [ТС] 3
Все что вы сказали понятно
Но сузим условия...
1. Есть бумажка с корпоративными стандартами
2. ТЗ написано - надо только закодировать, или по крайней мере простора для фантазии немного, новые сверхсложные алгоритмы изобретать не надо
3. дока по всем апи и языкам на компе, Кнут, Страуструп и компания рядом в шкафу
как подсчитывать в этом случае?
интересует именно то, как это решается на практике в разных фирмах
0
al
08.08.2009, 04:38 4
имхo, пoсле тoгo кaк пoбывaете в нескoльких фирмaх и пoсмoтрите пaру десяткoв прoгрaммерoв скoлькo у них зaнимaет времени выпoлнить ту
или иную зaдaчу, вы уже знaете скoлькo примернo этo дoлжнo зaнять времени у вaшегo прoгрaммерa, учитывaя кoл-вo oпытa,
нaсчёт стрoчек кoдa сoглaсен с mr_dronski - в oбщем случaе у лучшегo прoгрaммерa будет гoрaздo меньше стрoк кoдa чем у худшегo,
для выпoлнения oднoй и тoй же зaдaчи, дa пoтoм ктo-тo придёт и без oсoбых прoблем смoжет прoдoлжить
0 / 0 / 0
Регистрация: 08.08.2009
Сообщений: 10
08.08.2009, 05:42  [ТС] 5
2 luber:
Опытным путем на глазок - слишком субъективно
Возражения:
1. Разброс в производительности разных программистов доходит до 1 к 10
Читал у Брукса на примере подсчета машинных команд и видел собственными глазами при подсчете размера сырцов
2. Не учитывается то, что у программистов может быть доступ к бд исходников написанных ранее и ряд задач просто решается через копи энд паст
3. Если при чистом кодировании опыт не играет роли как сказано у того же Брукса и как сам видел на практике, и если учесть, что чистого кодирования не бывает, то играет большую роль и прежний опыт программеров.
И самое главное возражение -
реальные сведения о том, кто, как и с какой скоростью решает ряд задач как правило хорошо знает лишь ПМ, а любые попытки выяснения с коллегами 'кто здесь лучший?' - само собой будут наталкиваться на сопротивление с их стороны.
Таким образом получение объективных сведений через работу в нескольких фирмах становится практически невыполнимой задачей.
0
0 / 0 / 0
Регистрация: 08.08.2009
Сообщений: 10
08.08.2009, 06:06  [ТС] 6
а если говорить о разнице в объеме кода у плохих и хороших программеров , то с этим вполне согласен
есть данные по олимпиадам программистов, в которых для одинаковых задач число операторов варьировалось от 17 до 129
но здесь уже имеет смысл говорить о плохих или хороших постановщиках, при более менее оформленном ТЗ разброс будет гораздо меньшим
точное число назвать не могу, но по моему около 10-20% и сравнение отношений числа ошибок к объемам кода на мой взгляд уже имеет смысл
0
3 / 3 / 3
Регистрация: 07.11.2007
Сообщений: 270
08.08.2009, 13:29 7
Если код, который вы пишете допускает заимствование аналогичного ранее написанного кода, то Copy&Paste позволит легко достичь производительности 500-1000 строк/день. При этом, конечно, надо учитывать специфику самого приложения: для бухгалтерских и большинства офисных задач это правило работает, для системных или околосистемных - нет.
Если код пишется с нуля и задача для разработчика новая и ранее ему не встречавшаяся - дай Бог строк 50 (ну, может, 100 и то не факт). Разумеется, с учетом комментариев.
Если задача вообще новая, почитать почти нечего, проконсультироваться не у кого, то минимум неделю - ДУМАТЬ, потом день программировать, потом переключиться на более простую задачу, потом посмотреть что вы ранее написали, выбросить все на хрен и по циклу далее.
Позволю себе напомнить как Н.В.Гоголь описывал процесс создания своих литературных произведений: пишу, на 3 месяца прячу в ящик, опять пишу и исправляю, опять на 3 месяца в ящик и так до 7 раз. Это конечно утрированно, но в этом есть свое рациональное зерно.
Насчет качества, то IMHO мнение мое таково: ошибки, конечно, неизбежны, но осознанно перекладывать их поиск на тестировщиков или бета-тестеров не гуманно и аморально. Либо мы профессионалы, либо халтурщики.
Проект-менеджеры (если они сами выросли из среды разработчиков) ОБЯЗАНЫ понимать глубину проблемы и добиваться у вышестоящего начальства соответствующих бюджета и сроков. Если же они дятлы (а таких, увы, очень много), то тут сами решайте - соглашаетесь вы на интеллектуальное самоизнасилование или ищете другую работу. В любом случае нельзя позволять помыкать собой и своими мозгами.
По своему опыту я делаю так. При определении сроков выполнения я прикидываю необходимое время и умножаю его на 3. И не надо бояться санкций, угроз наказать рублем и прочих глупостей ! Профессионалу это не страшно. Пусть те, кто это говорит попробует сам сделать то, чего требует от вас. Пока себя не поставите как надо, вами будут помыкать все захочет.
0
0 / 0 / 0
Регистрация: 08.08.2009
Сообщений: 10
08.08.2009, 14:39  [ТС] 8
Работал ли кто нибудь из присутствующих на форуме в российских программерских конторах имеющих сертификат на собственную систему контроля качества соответствующую ISO 9000?
Я так понимаю стандарт определяет лишь общие положения этого вопроса, а в каждой конторе стандарт реализован по своему.
Можно ли где нибудь найти какую либо документацию на конкретную реализацию этого стандарта? (реализацию не для галочки, а используемую в деле) Или все эти вещи - комм. тайна и хранятся за семью печатями?
0
al
08.08.2009, 16:39 9
>>2 luber:
>>Возражения:
1 и 2
ну и чтo, этo же прoстaя кoнстaтaция фaктa чем этo прoтивoпoлoжнo выскaзaннoму мнoй -

3.
честнo гoвoря не пoнял, чтo вы имели в виду

>>И самое главное возражение .

a вы в скoльких фирмaх рaбoтaли дo этoгo ? если этo вaшa первaя фирмa, тo этo печaльнo, тaк кaк придётся вo мнoгoм нa свoих oшибкaх учится в тaких вoпрoсaх.

крoме тoгo, мне кaжется слегкa высoкoмерным тaкoй пoдхoд, дескaть мы дaём идеи и есть кoдирoвшики, кoтoрые эти идеи мoгут зaкoдирoвaть, сoглaснo тз, первoе нa мaшине, втoрoе в шкaфу, третье уже прoдумaнный плaн перед глaзaми, oстaётся тoлькo кaк дятел нaстучaть всё нa клaвиaтуре

я бы не пoшёл рaбoтaть в тaкую фирму
0 / 0 / 0
Регистрация: 08.08.2009
Сообщений: 10
08.08.2009, 23:58  [ТС] 10
Какие мнения по поводу этой методики?
Есть примеры использования в российских конторах?
http://ourworld.compuserve.com/homepages/softcomp/fpfaq.htm
http://www.ifpug.com/freemanual.htm
0
4 / 4 / 1
Регистрация: 13.08.2008
Сообщений: 931
09.08.2009, 00:18 11
методика давно известная. все, что они описывают - красиво и хорошо работает на _их же_ проектах. в реальности механизм подсчета баллов настолько сложен, что встает вопрос о целесообразности такого подсчета (будете только сидеть и считать).

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

не помню уже в какой модели, а может и просто общие правила PM:

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

2. если этап прошел с потугами и при этом ожидается, что и остальные будут не легче (например, при работе с новыми технологиями) - увеличить продолжительность ВСЕХ следующих этапов пропорционально задержке данного.

3. НИКОГДА не приближать срок сдачи проекта. например, если какой-то этап прошел на ура и даже раньше запланированного PM'ом срока, оставить дату сдачи проекта как есть.

4. уже неофициальное правило, но практика показывает... все, что вы насчитали по времени, умножьте на 1,3.

вот и стоит бедный ПМ перед выбором. ответа не существует, это как сравнивать RUP vs XP.
0
0 / 0 / 0
Регистрация: 08.08.2009
Сообщений: 10
09.08.2009, 02:20  [ТС] 12
а еще какие-либо аналогичные методики знаете?
аналогичные =
1. установлена единица измерения
2. подсчет осуществляется через формулы и коэффициенты, а не 'на глазок'
0
0 / 0 / 0
Регистрация: 08.08.2009
Сообщений: 10
09.08.2009, 02:31  [ТС] 13
2 mr_dronski:
и не расскажете в 2х словах как организован рабочий процесс в вашей фирме? (я так понял британской?)
0
4 / 4 / 1
Регистрация: 13.08.2008
Сообщений: 931
09.08.2009, 02:35 14
мелькала часто метода подсчета COCOMO (буквы английские . я даже надыбал на одном сайте (ну вот убей, не помню, где) софтинку для облегчения этого процесса. я ее так и не посмотрел, у меня она под эмулятором так и не стала. 140КБ. захочешь попробовать - свистни (сама софтинка под винды).

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

а вообще в нете наткнуться можно и на большие коммерческие программные продукты, основанные на этой системе.
0
4 / 4 / 1
Регистрация: 13.08.2008
Сообщений: 931
09.08.2009, 02:38 15
а про процесс у себя не расскажу. у меня была большая свобода действий и срок меня не давил. поэтому выжимал из проекта максимум пользы для себя (перепробовать все и применить наилучшее). слава богу, уже все закончилось вроде
0
0 / 0 / 0
Регистрация: 08.08.2009
Сообщений: 10
09.08.2009, 02:44  [ТС] 16
2 mr_dronsky:
1. ясно
был в аналогичной ситуации, выжал все, что можно (?),
только проект был нафиг никому не нужен
2. американский (бывший российский) программер сообщивший мне о функциональных точках и др оценил ситуацию в штатах вообще и в его фирме в частности так же как и в россии, только с той разницей что там все хуже, так как программированию там учат, а у нас им самоучки занимаются
0
4 / 4 / 1
Регистрация: 13.08.2008
Сообщений: 931
09.08.2009, 03:26 17
каков вердикт? проблема снимается как потерявшая смысл?
0
0 / 0 / 0
Регистрация: 08.08.2009
Сообщений: 10
09.08.2009, 04:00  [ТС] 18
трудно сказать
я этот вопрос задал и на нескольких других форумах
сопоставил ответы, оценил себя, понял в каком направлении двигаться
вот подвигаюсь и посмотрим )
а так пусть народ пишет, мне все равно интересны все мнения, вдруг что новое откроется
коли интересны мнения на эту тему можно почитать форумы с тем же вопросом по адресам
http://www.rsdn.ru/Forum/?mid=283211
http://*********/viewtopic.php?p=8166#8166
http://clubpro.spb.ru/cgi-bin/forum/postdisplay.cgi?forum=Forum9&topic=000100
http://******************/index.php?act=ST&f=13&t=9508
http://www.certification.ru/cgi-bin/forum.cgi?action=thread&id=5138#unread
0
tomik
28.02.2011, 18:00 19
!
28.02.2011, 18:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.02.2011, 18:00
Помогаю со студенческими работами здесь

В прямоугольной матрице выявить процентное соотношение количества положительных и отрицательных элементов
Написать программу на VBA, которая позволяет в прямоугольной матрице выявлять процентное...

Соотношение ширины ячейки и количества символов, которые в нее поместятся в одну строку
Я полагаю, зависимости такие: 1) Название Шрифта. 2) Размер шрифта 3) Жирный или нет, курсив или...

Как побороть невнимательность в работе программиста?
Все привет! Я работаю программистом, и у меня такая проблема: мне дают задачу я ее реализую, отдаю,...

Процентное соотношение количества анкет от среднего показателя этих анкет
в структуре БД есть таблица "anketu" с полями: id_anketu, dataa, id_doljn и есть таблица "doljn" с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru