Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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.041 c
5-1104149523
Anonimus
2004-12-27 15:12
2005.10.30
Свойство типа TStrings


14-1128730403
NoName__1
2005-10-08 04:13
2005.10.30
HDD


2-1128439767
Sysanin
2005-10-04 19:29
2005.10.30
Уменьшение размера exe


14-1128851569
NewWonder
2005-10-09 13:52
2005.10.30
Первые шаги в Java Script:


14-1129105703
Slider007
2005-10-12 12:28
2005.10.30
Проблема с ICQ траффиком





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский