gifts2017

Правила, которые облегчают жизнь программисту и клиенту.

Опубликовал Константин (kstukov) в раздел Программирование - Теория программирования

10 небольших правил, выполнение которых, увеличит эффективность работы любого программиста.

Как-то писал для себя. Немного поправил и выложил. Может кому-то пригодится. По себе скажу, что все выполнять не всегда получается.


1. Техническое задание для каждой задачи (кроме мелких). Разбить большую задачу на этапы.

Так хочется начать уже программировать, когда и так все ясно. Лучше небольшую схему реализации набросать - так будет проще. Разбить на подзадачи, ставить галочки по мере выполнения - так самому видно будет наглядно, что сделано и сколько осталось. К тому же структура алгоритма становится намного четче, когда такие "подзадачки" записаны.


2. Расставить правильно приоритеты и следовать им.


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


3. Установить конкретные сроки.


Если есть возможность оценить в часах заранее работы, лучше им назначить конкретный срок. Так она будет выполнена быстрее.
Небольшое замечание - не нужно расписывать каждый рабочий день по минутам. Мы же не роботы. Так можно стать "заложниками" собственных планов,
испытывать несправедливое осуждение за невыполненную "по плану" работу. К тому же, не секрет, что многие программисты амбициозны и их сроки выполнения лучше умножить на 1.5..
Поэтому лучше определить где-то половину своего рабочего времени.


4. Делать задачу сразу же, как есть возможность. Лучше, чтобы было все готово заранее\за день.


Потому что так хочется отложить работу на завтра когда еще есть время. И постоянно получается, что все доделывается в последний момент\ночь.
Так и невротиком можно стать от постоянных "пожаров" - важных задач, которые нужно сделать прямо сейчас.


5. Код должен быть с комментариями, понятным и аккуратным.


Бывало, что смотришь на свой код через полгода, где сложный алгоритм и нет комментариев, и тратишь какое-то время, чтобы врубиться.
Или в чужой. Смотришь, смотришь.. и пишешь заново все..


6. Тестирование любого изменения.


Обязательно. Даже если кажется, что все 100% работать будет, да и код чуток всего поменял.

Пару раз попал из-за этого в неприятную ситуацию.


7. Отдыхать. Через каждые 2 часа делать небольшой перерыв на 10 минут.


Самое важное. Не стоит работать и по ночам - эффективность очень сильно снижается, все равно придется отсыпаться.


8. Не брать больше 3х проектов одновременно.


3 - максимум. Чтобы было меньше ситуаций, когда работаешь на 5ти проектах и утром получаешь 3 звонка о том, что нужно срочно приехать\доделать.
Эффективность тоже падает.


9. Потратить несколько минут на поиск решения поставленной задачи в интернете или у друзей.


Поставленная задача скорее всего была кем-то решена. И не раз.


10. Делать архивные копии.


Последнее в списке но не по значимости.
Как лучше научиться про него не забывать - какое-то время вообще никогда не делать архивных копий у клиентов, и когда "припрет" - на всю жизнь запомнишь..

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Dimon (trozz) 05.06.09 10:53
Жизненно, но по моему это очевидно любому, и не программисту тоже.
2. Сергей Лунев (luns) 05.06.09 10:53
В принципе очевидные вещи, но +
3. Freelancer1C (iddqdidkfa) 05.06.09 12:42
По 8 пункту хочу уточнить: пусть будет больше 3-х проектов, но пусть они будут отложенными (т.е. клиент знает, что им начнут заниматься с такого-то числа) Если проектов станет уж сильно много - лучше скооперироваться с друзьями в подобие организации.
4. Александр Венгер (venger) 05.06.09 13:13
(0) Как бы это к рубрике Life относится, не желаете перенести в Life?
5. Станислав Шепталов (sCHTASS) 05.06.09 13:21
Относительно пункта 3.

> К тому же, не секрет, что многие программисты амбициозны и их сроки выполнения лучше умножить на 1.5.

Умнажать нужно на три - проверено временем.
6. as108 (AS108) 05.06.09 14:24
Полностью солидарна, у меня это называется "План-график". На его составление уходит обычно немного времени, но дальнейшая корректировка уже готового плана по ходу в зависимости от обстоятельств помогает экономить много времени и сил.
7. Сергей Троицкий (tsd) 05.06.09 16:13
великое искусство верховой езды заключается в том, чтобы… правильно держать равновесие (Белый рыцарь)
Все сабж знают, вот только почему то не применяют :)
8. Павел Шемякин (toypaul) 05.06.09 21:38
100%!
пытаюсь следовать. иногда даже получается.
обычно нарушаются пп 4-9 особенно п. 4
9. Олег Пономаренко (O-Planet) 05.06.09 23:33
Если речь идет "и о клиенте", то нужно 11: Платить программисту на 200 % больше, чем он просит. Вот тогда точно жить всем станет легко.
10. Сергей (Che) Коцюра (CheBurator) 06.06.09 00:43
Пропущены несколько важных пунктов.
.
11. Если есть сомнение в адекватности клиента, его платежеспособности и т.п. - лучше отказаться от заказа/проекта сразу. Во многих таких случаях не спасет даже предоплата - вытнут все жилы и заставят белить потолки.
.
12. Чувствуешь, что работа/заказ/проект "не идёт" - следуй правилу: если рабботу долго не делать - она или отпадет сама собой или ее сделает тот, кому она нужнее.
.
13. пункт 12, как правило, является следствием невыполнения пункта 11...
Legavaz; int18h; Altez; biv75; +4 Ответить
11. Виталий Глазунов (Altez) 06.06.09 10:31
Иногда (ночь с субботы на воскресенье) полезно посвятить ночь очередному долгострою (звонки "утопающих" не отвлекают)
12. Виталий Глазунов (Altez) 06.06.09 10:46
по п.7: Одолживший мне денег сишник работает по ночам. В плане дохода эффективность его несколько выше))
(3)ищу друзей пишущих проги-курсовые по 1 т.р.)
13. Юрий Тимофеев (Tatitutu) 06.06.09 10:50
(11)(ночь с субботы на воскресенье) полезно посвятить ЛЮБИМОМУ ЧЕЛОВЕКУ - намного большим вернется
14. Андрей Лихоманов (lihomanov) 06.06.09 16:46
Крутые Правила, помогает жизненно !!!!
15. Sheridan (WKBAPKA) 06.06.09 19:43
не буду плюсовать автору, т.к. эти истины выучил наизусть исходя из собственного опыта, но аффтар прав, и в этом его поддержу
16. ValentinV (ValentinV) 07.06.09 21:10
Вот тут
http://infostart.ru/forum/forum15/topic9707/messages75014/#message75014
alexk-is 03.06.09 11:53
(1) По терминологии кажется так:
"Тех. задание" - описание потребностей со слов заказчика.
Тех. задание является основанием для составления технического проекта.
В техническом проекте указывается перечень необходимых к выполнению работ.
По техническому проекту составляется график проведения работ,
в котором указываются сроки и ответственные за этапы со стороны заказчика и исполнителя.

Иначе:
задание - проект - перечень работ - график - сроки - ответственные

Вcе верно т.к. всесильно и наоборот:)
И психологически и юридически и математически и организационно-технологически...
Это проверяется.
======================================================
У Вас Фигня на масле. Вас заказчик за такие вещи еще не оскорблял?
Вам я плюс не поставлю, самому нужны, а минусы я не ставлю.
17. ValentinV (ValentinV) 07.06.09 21:15
Еще добавьте в свой арсенал.

11. Узелок.

Вам точно поможет.:);)
18. Аркадий Кучер (Abadonna) 08.06.09 08:28
Статью надо переместить в Life, на методические материалы не тянет
19. Дмитрий Воробьев (vde69) 08.06.09 09:26
первые 4 пункта читал многократно для различных профессий, пункт 8 говорит о том, что автор скорее не работал на "постоянке", пункт про "сроки" тоже говорит за это.

Но не смотря на этом в целом почти все верно. Я-бы добавил 2 пункта (знаю что меня сейчас забрасают помидорами):

11. Никогда не встраивать конкретного человека в систему (в том числе и себя), система должна работать ичходя из "штатки" а не личностей

12. всегда обеспечивай себя свежей туалетной бумагой, необходимо все задания получать в виде документов или хотя-бы электронных заявок, пусть она будет из 10 слов, но она должна быть.
20. Игорь Исхаков (Ish_2) 08.06.09 09:38
(19) К положению :

"11. Никогда не встраивать конкретного человека в систему (в том числе и себя), система должна работать ичходя из "штатки" а не личностей"

В разное время относился по разному : как к очень умному и как к очень глупому.
Из-за спорности, думаю , добавлять его 11 правилом не стоит.
21. Андрей Лихоманов (lihomanov) 08.06.09 09:46
Могу сказать следующее:
1. нельзя установить конкретные сроки, даже самый крутой программер не может сказать конкретные время или дату сдачи объекта, так как в любой задачи есть подводные камни!!!
22. Александр (Креатив) 08.06.09 09:47
По пункту 7. Отдыхать всё-таки рекомендуется каждый час.
23. Игорь Белышев (biv75) 08.06.09 09:52
(22) иногда бывает так прёт что не можешь оторваться, а иногда руки не подымаются, тут ещё и вдохновение нужно учитывать ))
а вообще да, надо отдыхать, кофейку попить.. чайку
24. Димок ддд (ДимокШ) 08.06.09 10:07
Отдыхать обязательно, и обязательно НЕ за компом, те кто крурят делают это "подсознательно"... на инстинктах так сказать :))
25. r_p (smirnov.a) 08.06.09 12:37
11. После постановки ТЗ получить 100% предоплату (аванс)
den_vladimir; DRY; +2 Ответить
26. DRY (DRY) 08.06.09 15:19
Все грамотно! Следую этим правилам всегда, но не подозревая о онных)) Спасибо, разложил все по полочкам!
27. Аркадий Кучер (Abadonna) 08.06.09 15:45
>Правила, которые облегчают жизнь программисту
Надо было добавить: для фрилансеров и халтурщиков (в хорошем смысле этого слова). Для фикси - не актуально
28. Андрей Лихоманов (lihomanov) 08.06.09 19:52
Я считаю эти правила подадут любому!!!, даже бухгалтеру и т.д., кто расписывает свои работы тот всегда на коне!
29. Евгений (wirg) 11.06.09 13:37
Конечно актуально, но мы все такие ленивые, что выполняется всего 2-3 пункта.