Форум: "Потрепаться";
Текущий архив: 2005.10.30;
Скачать: [xml.tar.bz2];
ВнизСколько часов в день вы уделяете непосредственно программированию Найти похожие ветки
← →
DelphiN! © (2005-10-05 12:38) [0]Сколько часов в день вы работаете, а сколько сидите в потрепаться?
← →
Seg (2005-10-05 12:54) [1]Мое мнение, что программированием надо заниматься не более 4 часов в день.
После 4 часов снижается внимание, после 6 часов непрерывного прогаммирования начинается сплошная лепнина ошибок, после чего на следующий день как минимум 2 самых плодотворных часа тратиться на поиск вчерашних ошибок.
Через 2-3 недели ошибок набирается столько, что произодительность падает до нуля.
← →
Desdechado © (2005-10-05 13:00) [2]Некорректно поставлен вопрос.
Я бы поставил его так.
Сколько времени в сутки (в среднем) вы тратите на:
1. работу
1.1. размышления
1.2. программирование
1.3. самообразование
2. расслабление в рабочее время
2.1. посещение форумов для ОТВЕТА, или вопроса не по работе
2.2. покурить/попить чайку/посплетничать/поиграться
про себя:
1. 6 ч
1.1. 3 ч
1.2. 2 ч
1.3. 1 ч
2. 1 ч
2.1. 0.75 ч
2.2. 0.25 ч
← →
Seg (2005-10-05 13:22) [3]14-ти часовой рабочий день?
← →
pazitron_brain © (2005-10-05 13:29) [4]Ошибки:
> Seg
> прогаммирования
> произодительность
Орфографические ошибки, конечно, не наказуемы, но многим людям неприятно на них смотреть.
← →
ms1 © (2005-10-05 13:29) [5]25 часов - на потрепаться. Bce ocтaвшeecя время - этo nлoдoтвopнoe твopчecтвo, тoбиш = программирование.
← →
dr Tr0jan © (2005-10-05 13:32) [6]
> DelphiN! © (05.10.05 12:38)
>
> сколько сидите в потрепаться?
25 часов.
> Сколько часов в день вы работаете
В свободное от "Потрепаться" время.
← →
Desdechado © (2005-10-05 13:49) [7]2 Seg
у тебя, видимо :)
раз уже не можешь сложить 2 числа и понять "деталировку"
← →
Seg (2005-10-05 14:05) [8]Орфографические ошибки, конечно, не наказуемы, но многим людям неприятно на них смотреть.
Так и не надо най них смотреть, займитесь РАБОТОЙ!!!!!!!!!!!!!!!!
← →
Layner © (2005-10-05 15:39) [9]в потрепаться, сижу 2 часа в неделю. в других только по настроению/вопросу.. Программирование 8 часов на работе (5 реально в день) и час дома, если спать не охота.
← →
Юрий Зотов © (2005-10-05 16:07) [10]> Seg (05.10.05 12:54) [1]
> после 6 часов непрерывного прогаммирования начинается сплошная
> лепнина ошибок
А позвольте с Вами не согласиться. При нормальной квалификации программера и нормальном стиле кодинга сплошная лепнина ошибок не начинается вообще никогда. Просто в силу автопилота.
← →
pazitron_brain © (2005-10-05 16:10) [11]Удалено модератором
← →
Seg (2005-10-05 16:56) [12]Просто в силу автопилота.
А если автопилот не работает?
← →
Antonn © (2005-10-05 17:01) [13]
> Сколько часов в день вы уделяете непосредственно
> программированию
почти все свободное время.
← →
Digitman © (2005-10-05 17:02) [14]
> Seg (05.10.05 16:56) [12]
тогда - в управдомы.
← →
Юрий Зотов © (2005-10-05 17:37) [15]> Seg (05.10.05 16:56) [12]
Если автопилот есть, то не работать он не может. Это как дышать.
А "при нормальной квалификации программера и нормальном стиле кодинга" автопилот таки есть. Даже если программер принял дозу, позволяющую ему лишь попадать по клавишам.
← →
oldman © (2005-10-05 17:46) [16]Настоящий программер работает, когда начальству кажется, что он курит или пьет кофе... :)))
При чем тут попадание по клавишам? Думаю то я 24 часа в сутки!
← →
Igorek © (2005-10-05 17:47) [17]
> Юрий Зотов © (05.10.05 17:37) [15]
> А "при нормальной квалификации программера и нормальном
> стиле кодинга" автопилот таки есть. Даже если программер
> принял дозу, позволяющую ему лишь попадать по клавишам.
Встречный вопрос - какая доза алкоголя отключает автопилот у вас? :)
← →
Германн © (2005-10-05 17:55) [18]Тут еще смотря когда!
Одно дело за два дня до срока сдачи, другое за неделю. :)
← →
kaif © (2005-10-05 18:36) [19]Если работа срочная, трачу на программирование 14 ч в сутки. Если не срочная, трачу 23 часа в сутки на размышления, 1 час - на некоторые эксперименты и изучение новых для себя вещей.
← →
Sergey_Masloff (2005-10-05 20:48) [20]Юрий Зотов © (05.10.05 17:37) [15]
>А "при нормальной квалификации программера и нормальном стиле >кодинга" автопилот таки есть.
Юра, а что такое "нормальная" квалификация? Давай для примера возьмешь сосчитаешь своих знакомых программистов. Без разбора - и интернет-знакомых о которых можешь мнение составить и с которыми по работе пересекался. А теперь возьмешь сосчитаешь тех у кого оный автопилот позволяет действительно качественный код писать. Вычисли пропорцию. Автопилотчиков врядли больше 10% ? Или это слишком оптимистично? ;-)
Так что все же наверное нормой это назвать сложно.
У меня обычно периоды обдумывания чередуются с периодами кодерства. Последние короче по времени но в это время я реально пишу на автомате. То есть я общий план представляю а конкретика на автомате 99%. Но это час ну два ну три. А потом опять на несколько часов (дней) ступор. Правда я в это время тоже чем-то занимаюсь типа переписки, общения со службой поддержки, планированием. Но код почти не пишу ибо идет туго.
Правда был момент когда 3 месяца отработал вообще без выходных каждый день с 7 утра по 10 вечера. В последний день закончил в полвторого утра а народ в филиалах (в т.ч. Владивосток) сидел ждал потому что дедлайн был реальный. И с колес все выкладывалось на фтп а народ с дикой скоростью качал. И самое смешное что вся эта ерунда заработала сразу (правда потом повылезло столько... но 99% не в кодировании а просто требования изначально были неопределены. Но работать было можно то есть пусть с неудобствами пусть с недочетами но основной функционал был на 100% работоспособен. Но больше я такого делать никогда не буду ;-) Даст бог...
Вобщем, среди известных мне программистов что-то подобное "нормальной квалификации" в твоем понимании встречается очень мало. Я лично не дотягиваю :( Думаю это везде так. Так что вопрос можно ли считать это "нормой" открыт.
← →
Bogdan1024 © (2005-10-05 20:59) [21]Раньше я не мог работать много, но теперь я могу кодить 20 часов в сутки, когда начинаются ошибки - иду спать :) Так было пару дней, я пытался сделать работу одним махом... Работать долго реально, но есть один ОГРОМНЫЙ минус - ты напрочь замыкаешься, и общаться тебе становится ОЧЕНЬ тяжело. Потому я больше не программирую больше 3 часов даже если есть желание (а оно у меня есть всегда, для меня программирование уже привычкой стало). Если тратишь всё свободное время на программирование, то чего стоит такая жизнь?
И программирование, между прочим, пишется с двумя "м"!
← →
Юрий Зотов © (2005-10-05 23:39) [22]> Igorek © (05.10.05 17:47) [17]
> какая доза алкоголя отключает автопилот у вас? :)
Такую еще не принимал, поэтому не знаю. Могу лишь сказать, что координация движений и внятная речь начинают сбоить раньше автопилота, это проверено. Возможно, и смертельная доза тоже меньше, но вот этого пока не проверял.
:о)
> Sergey_Masloff (05.10.05 20:48) [20]
> Автопилотчиков врядли больше 10% ?
Похоже, где-то так.
> Так что все же наверное нормой это назвать сложно.
Не, для профи автопилот - это как раз и есть норма. Прочие 90% - соответственно, не профи. Это как вести машину и искать глазами педали.
← →
Игорь Шевченко © (2005-10-05 23:48) [23]
> Сколько часов в день вы уделяете непосредственно программированию
Смотря что понимать под программированием. Если непосредственное написание кода, то суммарно получится близкое к нулю значение.
Sergey_Masloff (05.10.05 20:48) [20]
> А потом опять на несколько часов (дней) ступор.
Месяцев...
← →
Юрий Зотов © (2005-10-06 00:18) [24]> Sergey_Masloff (05.10.05 20:48) [20]
> Я лично не дотягиваю
Так то, что ты описал - это уже не кодинг, а проектирование. Там - да, там лучше без автопилота обходиться, иначе будешь все задачи по одной и той же схеме решать, а они разные.
А кодинг - сам же говоришь, что пишешь код на автомате и на 99% он работает с колес. Это и есть автопилот.
← →
kaif © (2005-10-06 00:19) [25]Юрий Зотов © (05.10.05 16:07) [10]
При нормальной квалификации программера и нормальном стиле кодинга сплошная лепнина ошибок не начинается вообще никогда. Просто в силу автопилота.
Не знаю, следует ли это называть квалификацией, но я согласен, что возможно писать код вообще без ошибок часами. Любопытно, что когда я только начал профессионально программировать (под FoxPro 2.6), после года программирования даже рюмки водки было достаточно, чтобы начать допускать ошибки и с трудом их отыскивать. Сейчас я могу писать код даже в состоянии, когда язык заплетается говорить, т.е. после принятой бутылки водки. Правда я считаю, что здесь имеет значение и то, что я пишу в Delphi. В интерпретаторах легче допустить ошибку связанную с одинаковым именованием переменных и не заметить изменение типа переменной "на ходу". ООП-мышление позволяет не ошибаться в принципе. Если мне нужно получить гарантированно работающий код, затратив минимум времени, пусть даже этот код не самый оптимальный, я сразу начинаю создавать систему классов. Неверно говрить, что я не допускаю ошибок. Иногда я их сознательно провоцирую. Например - мой любимый прием переделок в программе, когда я уничтожаю определение члена класса, если мне нужно что-то изменить в логике. Компилятор выдает сразу сотню ошибок и я вижу все места, в которых этот член использовался. Далее я постепенно переделываю код в этих местах и часто жму F9, чтобы увидеть те модули, в которых еще использовался этот член. Это весьма эффективный подход. Обычно мой главный критерий программирования - максимальная скорость работы, на втором месте размеры файлов и на третьем - оптимальность всего кода. Поэтому я обычно очень тщательно пишу лишь узкие места кода, важные для общей скорости, например, обработку пикселей изображений или тексты SQL-запросов (хотя здесь важнее на этапе структуры все сделать верно), а вот места неважные пишу сознательно неряшливо. Это позволяет концентрировать внимание на важных вещах и не останавливаться подолгу на том, что все равно будет переделываться еще десять раз.
Вот сегодня я был поставлен в тупик в очень простой ситуации. Я редко пишу обработчики типа OnDrawItem всяких комбобоксов. Однако сегодня мне нужно было сделать выпадающий список определенных цветов и сделать это быстро. Я быстро вписал что-то вроде:
R: TRect;
begin
R := Rect(1,1,10,10);
ComboBox1.Canvas.Brush.Color := clYellow;
ComboBox1.Canvas.Rectangle(R);
end;
зная, что это выведет квадрат только в левом верхнем углу, и очень долго недоумевал, почему компилятор выдает ошибку на функции Rect. Я посмотрел несколько модулей своей программы, в которых я сотню раз использовал функцию Rect из модуля Classes - все там работает без проблем. Как будто свет клином сошелся на Rect именно в этом месте! В конце концов я от отчаяния написал:
R := Classes.Rect(1,1,10,10);
и компилятор перестал ругаться. У меня глаза стали квадратные. И тут я сообразил, какой я олух - один из параметров, передаваемых в обработчик называется Rect, причем мне это всегда было известно. В конце концов я обошелся вообще без функции Rect, написав что-то вроде просто;
ComboBox1.Canvas.Rectangle(Rect);
Но для меня все равно осталось непонятным, почему разработчики VCL не назвали параметр как-нибудь иначе, например ARect. Ведь в других похожих местах, опасаясь конфликта имен, они обычно так и поступали...
← →
Eraser © (2005-10-06 00:33) [26]
> kaif © (06.10.05 00:19) [25]
> Но для меня все равно осталось непонятным, почему разработчики
> VCL не назвали параметр как-нибудь иначе, например ARect.
Обычно букву A ставят вначале переменной, если эта переменая - аргумент ф-ии.
← →
Eraser © (2005-10-06 00:34) [27]
> kaif © (06.10.05 00:19) [25]
> Но для меня все равно осталось непонятным, почему разработчики
> VCL не назвали параметр как-нибудь иначе, например ARect.
Обычно букву A ставят вначале переменной, если эта переменая - аргумент ф-ии.
← →
Игорь Шевченко © (2005-10-06 00:45) [28]kaif © (06.10.05 00:19) [25]
> Например - мой любимый прием переделок в программе, когда
> я уничтожаю определение члена класса, если мне нужно что-
> то изменить в логике. Компилятор выдает сразу сотню ошибок
> и я вижу все места, в которых этот член использовался. Далее
> я постепенно переделываю код в этих местах и часто жму F9,
> чтобы увидеть те модули, в которых еще использовался этот
> член. Это весьма эффективный подход.
Согласен, очень полезный и практикуемый прием. В D2005 пошли навстречу разработчикам в этом направлении, например, глобальнре переименование идентификатора. Раньше переименовывать приходилось указанным тобой способом.
← →
Джо © (2005-10-06 00:51) [29]Да, чертовски удобная вещь этот Refactor/Rename...
← →
Думкин © (2005-10-06 06:11) [30]Проектирование -99%
Кодинг - дай бог 1%, а больше испытание, как от планирования к коду перейти.
Пишу мало. Думаю, к сожалению, много.
← →
Карелин Артем © (2005-10-06 06:30) [31]Программирование после рюмки, после бутылки...
У меня один бывший товарисч это практиковал каждый день порядка 7 лет. Все считал что автопилот справляется с написанием кода.
Потом резко отказал автопилот и система управления полетами. И резко он стал простым неопытным безработным пользователем.
← →
Думкин © (2005-10-06 06:36) [32]> Карелин Артем © (06.10.05 06:30) [31]
Rational Rouse - минимум.
← →
Думкин © (2005-10-06 06:38) [33]> Карелин Артем © (06.10.05 06:30) [31]
Rational Rose 2000 Enterprise Edition - точнее. Но у всего - свои минусы.
← →
Юрий Зотов © (2005-10-06 06:41) [34]> Игорь Шевченко © (06.10.05 00:45) [28]
> Раньше переименовывать приходилось указанным тобой способом.
Когда-то писал эксперт IDE для подобных штучек. Позволял не только переименовать класс (такая фича, насколько помню, есть в GExperts), но и добавить, заменить или удалить класс. С соответствующими добавлением, удалением или заменой имен и даже имен/значений свойств в PAS/DFM. За один проход обрабатывались сразу все файлы проекта, а в них - сразу все заданные классы.
Очень полезная штука оказалась, использовалась, как минимум, в трех конторах при глобальном рефакторинге (который, как правило, надо провести за два выходных дня и так, чтобы проект продолжал нормально собираться и работать, а в понедельник кодеры-прикладники даже и не ощутили, что он стал уже другим).
Писал где-то с месяц, шлифовал код самым жесточайшим образом (очень высока цена ошибки), добился четкой и быстрой работы, а потом... бездарно умудрился посеять исходники... лопух.
← →
Думкин © (2005-10-06 06:45) [35]> Юрий Зотов © (06.10.05 06:41) [34]
А было бы интересно. Я написал нсколько анализаторов кода HTML и PAS. С удовольствием бы взглянкл на ваш код.
← →
Sergey_Masloff (2005-10-06 06:45) [36]Юрий Зотов © (05.10.05 23:39) [22]
> Не, для профи автопилот - это как раз и есть норма. Прочие 90% - >соответственно, не профи.
Ну наверное не совсем так. Цитирую Макконнелла (Code Complete)
Уровень 1: начало. Новичок - программист, способный использовать базовые возможности одного языка. Может писать классы, методы, циклы и условные операторы и использовать многие средства поддерживаемые одним языком.
Уровень 2: Средний уровень. Программист прошел начальный кровень, может использовать базовые возможности нескольких языков и очень хорошо владеет, по крайней мере, одним из языков.
Уровень 3: компетентность. Программист обладает экспертными знаниями языка, среды или того и другого. Например, знает все тонкости J2EE или помнит наизусть все аннотированное руководство по C++. Такие программисты очень ценны для работодателей но многие из них никогда не поднимутся выше этого уровня.
Уровень 4. лидерство. Лидер имеет квалификацию 3-го уровня, но понимает что программирование это на 85% общение с людьми и только на 15% с компьютером. Средний программист только 30% времени работает водиночку и еще меньше времени тратит на взаимодействие с компьютером. Гуру программирования пишут код для людей, а не для машин. Истинные гуру пишут абсолютно ясный код, не забывая при этом комментировать его. Они не хотят тратить свои драгоценные умственные ресурсы на восстановление логики какого-то фрагмента кода если ее можно было бы легко понять взглянув на пару строк комментария.
Начал писать как возражение - типа все они профессионаля, но понял в процессе что похоже ты прав. Автопилот кодинга должен быть на 2 уровне уже.
← →
Юрий Зотов © (2005-10-06 07:34) [37]> Sergey_Masloff (06.10.05 06:45) [36]
> Автопилот кодинга должен быть на 2 уровне уже.
Видимо, да. Уровень 1 - это еще полнейшее любительство, уровень 2 уже пригоден для прикладного кодинга (но только для прикладного и только кодинга) в профессиональной софтверной команде и на уровне 2 уже должен быть автопилот. По крайней мере, базовый автопилот (т.е., писать, особо не задумываясь, грамотно, не забывая о таких вещах, как try и практически без ошибок). Уровень 3 пригоден уже не только для прикладного кодинга, но и для написания ядра и на нем появляется, скажем так, продвинутый автопилот (т.е., автоматически писать код, заведомо пригодный для развития и рефаторинга), а уровень 4 - это уже руководитель группы (если угодно - постановщик задач или проектировщик).
← →
GuAV © (2005-10-06 10:42) [38]
> > Например - мой любимый прием переделок в программе,
>когда
> > я уничтожаю определение члена класса, если мне нужно
>что-
> > то изменить в логике. Компилятор выдает сразу сотню
>ошибок
> > и я вижу все места, в которых этот член
>использовался. Далее
> > я постепенно переделываю код в этих местах и часто
>жму F9,
> > чтобы увидеть те модули, в которых еще
>использовался этот
> > член. Это весьма эффективный подход
А почему бы просто не дописывать deprecated ? Это позволяет увидеть все использования идентификатора в варнингах, но сохранит код компилируемым.
← →
ZeroDivide © (2005-10-06 10:49) [39]Про ступор (старенькая статья, но тем кто все еще не прочитал ее, советую прочитать обязательно)
http://russian.joelonsoftware.com/Articles/FireAndMotion.html
> продвинутый автопилот (т.е., автоматически писать код, заведомо
> пригодный для развития и рефаторинга)
Ну вот собственно... озвучено то, о чем я хотел сказать...
Так вот, при продолжительном кодинге, при усталости от постоянной концентрации, при программировании после "праздника", еще при некоторых внешних факторах, этот автопилот как раз и начинает сбоить. ИМХО, код ВСЕГДА должен быть таким (т.е. заведомо пригодный для развития и рефаторинга). Но лично я иногда, при вышеперечисленных факторах, иногда пишу на уровне 2. Этот код, безусловно рабочий, у нас называется "вставлять костыли"... нет, все работет, только с точки зрения развития он абсолютно не пригоден. При накоплении в программе критической массы "костылей", она неизбежно навернется.
← →
ZeroDivide © (2005-10-06 11:17) [40]Еще вот о чем подумал:
В 98 процентах времени, на работе, пишу совершенно не задумываясь, просто уже на уровне подсознания (автопилота :) ) знаю, что это должно выглядеть так и это будет работать.
Но, вот что важно, писать на автопилоте не интересно. Не увлекает это (а я все таки люблю программировать, хоть и делаю это уже давно) Так вот, когда я пишу на автопилоте, я трачу на программирование 3-4 часа. А когда я пишу интересную задачу, где приходится подумать, я спокойно могу задержаться на работе по собственному желанию, т.е. программирую более 8 часов в день. А иногда приношу домой то что написал на работе и продолжаю после ужина :)
В общем - это обратная сторона программирования на автопилоте (конечно, я имею в виду не только кодинг, а решение задачи в целом.) Я думаю, что лично у меня, хоть разница не значительная, но все же автопилот менее продуктивен. Такой вот парадокс.
Страницы: 1 2 вся ветка
Форум: "Потрепаться";
Текущий архив: 2005.10.30;
Скачать: [xml.tar.bz2];
Память: 0.59 MB
Время: 0.037 c