ТОП 10 самых раздражающих факторов для программиста

Публикация № 57256 02.09.08

Анализ и управление - О жизни

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

ТОП 10 самых раздражающих факторов для программиста

10. Комментарии, которые объясняют "как", но не объясняют "зачем"

Еще в институте, на курсе программирования, нас учили что код необходимо комментировать, и максимально полно. Всегда лучше иметь слишком много комментариев, чем слишком мало. К сожалению, данная рекомендация иногда перерастает совсем уж в паранойю — программист комментирует каждую строчку кода. Например:

$r = $n/2; // Устанавливаем $r равным $n поделенное пополам
// Цикл выполняется до тех пор пока $r — ($n/$r) больше $t
while (abs($r — ($n/$r)) > $t) {
$r = 0.5 * ($r + ($n/$r)); // Устанавливаем $r равное половине $r + ($n/$r)
}

Вы имеете хоть малейшее представление что этот код делает? Я — нет. Даже после 100 грамм. Данный код является прекрасной демонстрацией проблемы, когда комментарии описывают что делает код, но никак не описывают зачем он это делает.

Для контраста приведу пример этого же кода, но с нормальными комментариями:

// Вычисление квадратного корня из n методом Ньютона — Рафсона
$r = $n/2;

while (abs($r — ($n/$r)) > $t) {
$r = 0.5 * ($r + ($n/$r));
}

С такими комментариями уже понятно для чего предназначен данный код.

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

9. Отвлечение от работы

Очень мизерное количество программистов могут написать код с нуля мизинцем правой руки, одновременно разговаривая по телефону, бреясь и жуя очередной бутерброд. В целом, программист больше похож на локомотив, чем на феррари — для него необходимо некоторое время чтобы "разогнаться" и "влиться" в работу, зато после "разгона" программист может быстро и качественно работать.
Но, к сожалению, очень сложно влиться в "рабочий поток", когда ваш "поезд мыслей" пускают под откос толпа клиентов, менеджеров или коллег-программистов.

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

8. Изменения в проекте

На английском данная проблема звучит как Scope creep, Изменения в проекте могут превратить простую задачу в самый страшный ночной кошмар. Достаточно нескольких вполне невинных слов, внесенных в проект заказчиком, чтобы превратить задачу в кашу. Например:
Версия 1. Показать карту местности
Версия 2. Показать 3D карту местности
Версия 3. Показать 3D карту местности, по которой пользователи могут виртуально перемещаться
Ужас! 30 минутная простая задача превращается в сложную комплексную систему, на которую можно потратить не одну сотню человеко-часов. Но страшнее всего, когда изменения в проект вносятся во время разработки, что влечет за собой переписывания, рефакторинг, а иногда и просто выбрасывание кода, на который разработчик потратил уйму времени.

7. Менеджеры, которые ничего не смыслят в программировании

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

6. Документирование приложений

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

Не сложно догадаться что это самое нелюбимое занятие программистов. Достаточно взглянуть на множество open-source проектов. Какая наиболее частая просьба в помощи от open-source коммьюнити? Правильно, написать документацию.

5. Приложения без документации

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

Нет ничего более раздражающего чем попытки использовать стороннюю библиотеку, когда не понимаешь что делают половина функций в API.
Какая разница между poorlyNamedFunctionA() и poorlyButSimilarlyNamedFunctionB()? Необходимо ли делать дополнительные проверки атрибутов?
Получается сплошная работа методом псевдо-научного тыка.

4. Железо

Любой программист, который хоть раз отлаживал абсолютно непонятное падение базы данных или сталкивался с рассинхронизациям RAID массива прекрасно знает какую головную боль доставляют проблемы с железом. Самое большое заблуждение в сфере IT, это то, что поскольку программист работает с компьютерами, он же и должен их и чинить. Конечно, для некоторых программистов это не проблема, но мешает сосредоточится на более высокоприоритетных задачах. Для таких целей должны быть специальные люди, которые будут этим заниматься.

3. Неопределенность

"Сайт не работает!". "Функционал Х работает не так как надо!". Неопределенные баг-репорты — как заноза в заднице.
Особенно, когда разозленные не-программисты на просьбу предоставить информацию по воспроизведению бага отвечают — "ты же программист! возьми просто и почини!" и не понимают что недостаточно информации, чтобы взять и починить.

2. Другие программисты

Программисты далеко не всегда уживаются с другими программистами. Шокирует, но это правда. Наиболее характерными раздражающими факторами являются:
Несдержанность по отношению к оппонентам-программистам
Непонимание того факта, что есть время обсуждения архитектуры системы и есть время для ее реализации
Невозможность адекватной коммуникации с коллегами и заказчиком и различия в понимании терминологии
Невозможность работать как надо и когда надо
Безразличие к коду и, собственно, к проекту

1. Собственный код, 6 месяцев спустя

Вы когда-нибудь заглядывали в свой старый код? Это я написал такое??!!! Начинаешь выглядеть идиотом в собственных глазах.

Да, проблема… Но есть и хорошие новости — вы не один такой ;).

Суть данной проблемы заключается в том, что мир программирования постоянно изменяется. То что мы считаем новейшими тенденциями сегодня, завтра может просто устареть. Банально невозможно написать идеальный код, поскольку стандарты и методологии программирования пересматриваются и эволюционируют ежедневно! Конечно, жестоко осознавать что красивый код написанный сегодня может быть смешным и нелепым уже завтра. Для большинства программистов это и есть наиболее раздражающий фактор в их работе…

Перевод и адаптация by Fenix.

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Abadonna 3940 02.09.08 18:24 Сейчас в теме
Плюсовать не буду из принципа (надеюсь всем уже известна моя позиция по плюсам в блогах, да еще не авторских вещей), но понравилось ;) +1 в уме
csrnsdrfh; +1 Ответить
2. WiseSnake 1518 02.09.08 20:36 Сейчас в теме
Человек старался переводил. Тем более это у него первый блог. Он зарабатывал честным путем :).
К тому блог отличный, тут + однозначно
3. o.nikolaev 208 02.09.08 20:52 Сейчас в теме
Кажется похоже на Лу Гринзоу из книжки "Философия программирования для Windows"...
Но все равно +
4. su_mai 89 02.09.08 21:46 Сейчас в теме
5. z-alexey 1198 02.09.08 22:02 Сейчас в теме
Ребят, внесу ясность. Я не переводил это, ссылка на источник дана.
Не видел высказываний Abadonna по поводу плюсов в блогах, но считаю, что мешать плюсы за программы и за блог некорректно. По себе вижу сколько времени нужно, чтобы поставили плюс за разработку, а тут повесил текст в блоге и за день 16 плюсов - приятно... но не честно :)
Вообщем можете минусовать блог. Мне хватает плюсов за свои разработки :)
Abadonna; +1 Ответить
15. O-Planet 6448 04.09.08 04:55 Сейчас в теме
(5) То, что плюсуют - говорит о том, что народ еще думает, а не только что-то качает...
ПС Абадонна всех напужал :)
17. Abadonna 3940 04.09.08 05:15 Сейчас в теме
(5)>ПС Абадонна всех напужал :)
Планет, ты глянь авторский пост (5).
"По себе вижу сколько времени нужно, чтобы поставили плюс за разработку, а тут повесил текст в блоге и за день 16 плюсов - приятно... но не честно :)"
Он это не писал, он это не переводил, а рейтинг ЕМУ идет. Так что при чем тут "что народ еще думает"?
НЕ ДОЛЖНЫ ТАКИЕ ВЕЩИ РЕЙТИНГОВАТЬСЯ - вот и все, а право на существование они безусловно имеют. По-моему мысль настолько простая, что даже и обосновывать её как-то неловко
6. CheBurator 3114 03.09.08 02:52 Сейчас в теме
вообще-то п.10 изначально (в середине 80-х) звучал так: бессмысленные комментарии, например:
GOTO M; //переход к метке М
..
для мну очень, критичен, например п.9
..
п.7 - это вообще не про наших "манагеров"...
..
ну и п.1 - это истинная правда...
7. pm74 221 03.09.08 07:19 Сейчас в теме
подписываюсь за п.8 и п.3 абсолютно точно

8. pm74 221 03.09.08 07:23 Сейчас в теме
еще раздражает слово "компьютерщик"
Шухер; mdzen; gavril; +3 Ответить
9. vasilykushnir 63 03.09.08 08:40 Сейчас в теме
9, 8, 3 и 1 - это даже не в точку, а прям по печени... Как реально...
Wolfis; Kurt; +2 Ответить
10. logarifm 1110 03.09.08 10:53 Сейчас в теме
Да это про нас родимых. (+1)
11. Pic_nic 182 03.09.08 12:08 Сейчас в теме
Скучно, чуть не уснул...
Впервые смотрю в монитор и меня тянет спать!!!!
Дочитал до конца, и... слишком много "не нужных слов", для программиста!!!!!!!!
12. tango 499 03.09.08 12:34 Сейчас в теме
п.4 - только что вытащил из машины одну из трех 256М-линеечек... заработала хрюня :)
правда, забыл обратно вставить батарейку :(
13. Поручик 4636 03.09.08 13:19 Сейчас в теме
14. tigold 03.09.08 22:27 Сейчас в теме
п.1 Как хорошо что я не один такой:)
16. O-Planet 6448 04.09.08 04:58 Сейчас в теме
+ Вот сейчас сижу и матерюсь, что клиент в готовой работе просит всего лишь поменять штриховку линии в некоторых секциях таблицы! Для него - это всего лишь другой тип линии, а для меня добавление новых областей в прототип, смена алгоритма в порядка десяти процедурах, добавление доп. переменных, новая отладка и поиск багов. Но самое злое, что счет же ему не выставишь за все это время! Ведь я всего лишь сменил штриховку у линии!

18. z-alexey 1198 04.09.08 08:08 Сейчас в теме
(16) Почему не выставить счет, если это действительно занимает много времени. А на отказ оплачивать привести все аргументы. Если и после этого он отказывается, то говорим: "Берем в руки линейку и карандаш и обводим штриховую линию в сплошную (или им волнистую нужно)". Пусть задумается :)
P.S. Хотя, не мне вам объяснять :)
19. Pari 04.09.08 10:21 Сейчас в теме
Обращаю внимание z-alexey на необходимость более тщательного выбора темы для публикации блогов, объявлений о поиске работы и т.п. При чем здесь "Юмор"? Здесь скорее подходит "Подстава" или, на крайний случай, "Грусть".
20. stepman1 04.09.08 15:57 Сейчас в теме
про коментирование - это про меня. Когда писал задачки на заказ студентам. Просто вапче ниче не знали, ну просто вапче ниче ...
21. Abadonna 3940 05.09.08 07:02 Сейчас в теме
11-й и самый раздражающий фактор. Берем, к примеру, АЛьФа:
ВК без регистрации в реестре - 32
Inserter - 38
Открытие внешних отчетов 1С:Предприятия 7.7 из Проводника -58
____________________________________________________________­________
А эта лабудень копипастенная уже 118 набрала. И самое забавное, что сам АЛьФ к такому положению дел руку приложил, или наоборот - не хочет приложить, чтобы как можно скорее положение исправить.
vasilykushnir; Greymem; +2 Ответить
22. Greymem 64 05.09.08 11:28 Сейчас в теме
2 Abadonna
Кстати да... стал замечать, что реально полезные АВТОРСКИЕ разработчики получают рейтинг<30. То что делал 1 человек... вкладывал душу и работал можно сказать за идею...

А разработки где написано "Взял часть от туда" или "Основано на разработке такого то чувака" растёт в рейтенге.... Хорошо хоть что авторы честные и пишут что это не их.... но всё равно я считаю надо ставить балл тем, кто выложил базовую разработку а не тем, кто на этой базе сделал рейтинг )))
RustIG; Pari; vasilykushnir; +3 Ответить
23. Abadonna 3940 05.09.08 11:49 Сейчас в теме
2 Greymem. "растёт в рейтенге.... " Слушай, где-то по весне я под ником Annobad внаглую выложил свою же разработку DBFViewer, нигде не указывая, естественно, что Annobad=Abadonna. После того как рейтинг дошел до 20 я честно написал что и по чем и дал ссылку на действительно авторскую (Абадонновскую). И что ты думаешь? Нашлось еще как минимум пяток идиотов, которые и после этого Annobad_у плюсы поставили.
24. Pari 05.09.08 13:37 Сейчас в теме
2 Greymem, Abadonna
Вот один из последних примеров http://infostart.ru/projects/2453/
Публикатор честно дал ссылку на первоисточник и при этом получил свою долю рейтинга. Профанация конечно, но расстраиваться по этому поводу не стоит. Важнее не то, сколько плюсов, а кто этот плюс поставил и за что.
25. nickVZ 10 16.09.08 15:31 Сейчас в теме
Хе-хе... На первом, кажись, розыгрыше призов главный приз пришелся на убогенькую поделку. Да еще с методическими ошибками...
Ну и что? "Плюсовали" за нее такие же по квалификации.
Я так обратил на нее внимание только после розыгрыша. Из-за любопытсва. Ибо подобных заготовок у самого много.
P.S. Уточнять не буду. Лень ковырять поиск. Здесь, и на Т1С. Если в архивах существует.
26. cruse 6 07.02.11 19:34 Сейчас в теме
Для того что бы не раздражала проблема 1 (собственный код) я задействую принципы коллективной разработки даже когда один. В комментариях писать чего хотел, использовать хранилище как историю изменений, задумываться над архитектурой (проявляется связность отдельных включений).

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

Было у меня лет 15 когда я не то что бы не мог вспомнить кто написал код (хоть это был я сам), но я даже не мог понять что вообще автор хотел этим кодом сказать, какую мысль выразить. Все конструкции написаны на языке программирования, который я знаю и от которого есть документация, а что этот код хочет сделать не понятно. Слава богу больше такого не повторялось, на самом деле даже приятно открывать старые разработки.
27. opx 759 10.10.11 15:32 Сейчас в теме
Отвечать пользователям на "У меня программа не работает" надо так: "Вы в отладчике посмотрите что не так" :)
Хоть и перевод, но все равно зачетно!
28. mip128 07.08.14 13:40 Сейчас в теме
(27) opx, Я бы послал такого программиста
Оставьте свое сообщение

См. также

Выйди и зайди нормально

О жизни Бесплатно (free)

Про эффективных бедняжек.

01.02.2023    6160    1c-intelligence    117    

52

Невыжившие в IT

О жизни Бесплатно (free)

Дайте почитать сыну маминой подруги.

13.09.2022    7095    1c-intelligence    60    

75

История одного собеседования на должность 1С программиста

О жизни Бесплатно (free)

Краткая история для начинающих разработчиков про ожидание и реальность

23.08.2022    4804    1v7    63    

36

Пусть программирует Сережа

О жизни Бесплатно (free)

Вам это знакомо. Должно быть знакомо.

17.06.2022    7201    1c-intelligence    107    

62

Зарплатная спираль

О жизни Бесплатно (free)

Чего они там не понимают.

07.06.2022    4187    1c-intelligence    50    

56

Начинающие программисты боятся темноты

О жизни Бесплатно (free)

Самое сложное - НЕ писать код.

25.05.2022    6449    1c-intelligence    90    

64

Заградотряд

О жизни Бесплатно (free)

Очередная hr-дичь.

04.05.2022    5307    1c-intelligence    88    

57

Крепостное право в ИТ

О жизни Бесплатно (free)

Угадайте, кто тут кого закрепостил?

26.04.2022    4591    1c-intelligence    52    

57

Гугл-программисты. Как идиот набрал на работу идиотов

О жизни Бесплатно (free)

Реалии современного мира программирования

21.06.2021    8614    1c-intelligence    123    

55

Помолчи-ка, программист

О жизни Бесплатно (free)

Что бывает с шибко умными

17.06.2021    25983    1c-intelligence    69    

87

Красота, которая не спасла программиста

О жизни Бесплатно (free)

За что тебя приняли, за то тебя и уволят

15.06.2021    7710    1c-intelligence    80    

51

Мобильное приложение на 1С?

О жизни Мобильная разработка Мотивация, лидерство и личная эффективность Бесплатно (free)

История одного программиста, как он пришел в мир 1С и какой проделал путь к «мобильной платформе 1С». Какие выводы он для себя сделал, поработав с «мобильной платформой 1С».

18.05.2021    10080    dsdred    91    

52

3% и вы

О жизни Мотивация, лидерство и личная эффективность Бесплатно (free)

Почему вам мало платят и так будет всегда

15.09.2020    8607    1c-intelligence    153    

78

Верблюды и песочница. Джоэл Сполски

О жизни ИТ-компания Бесплатно (free)

Статья Джоэл Сполски про ценообразование программы. Эта статья написана в блоге в 2004 году. При подготовке к онлайн-конференции для партнеров (https://edu.infostart.ru/up2020) я вспомнил про нее, но не нашел русского перевода по старому адресу. Есть несколько других вариантов перевода, но у меня чудом сохранился оригинал. Восстанавливаю его здесь. Прошло уже 16 лет, но статья по прежнему актуальна и познавательна для разработчиков коммерческих решений.

24.04.2020    6842    support    35    

42

Как стать матерым штурмовиком, или истории из жизни

О жизни Бесплатно (free)

"Самое дорогое у человека — это жизнь. Она дается ему один раз, и прожить ее надо так, чтобы не было мучительно больно за бесцельно прожитые годы, чтобы не жег позор за подленькое и мелочное прошлое, чтобы, умирая, смог сказать: вся жизнь и все силы были отданы самому главному в мире - борьбе за освобождение человечества. И надо спешить жить. Ведь нелепая болезнь или какая-либо трагическая случайность могут прервать ее." Островский Н.А.

05.04.2020    5933    starik-2005    14    

44

Вычитал. Хочу. Делайте

О жизни Бесплатно (free)

"Идеи" руководства и их "реализация".

13.03.2020    9012    1c-intelligence    16    

34

Как живут разработчики 1С во Вьетнаме

О жизни Бесплатно (free)

Xin chào, Инфостарт! Меня зовут Алексей Кондратьев. Я - технический директор компании 1C Vietnam LLC. В этой статье расскажу чем живут разработчики 1С во Вьетнаме и как попасть в их число. Все, о чем буду рассказывать далее - специфично для Вьетнама. Для партнеров в других странах и в самой Фирме 1С условия конечно же другие.

02.03.2020    13980    koal@1c    90    

42

Собеседование в луже крови

О жизни Бесплатно (free)

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

28.02.2020    10936    1c-intelligence    110    

80

Нетехническая статья про технические статьи

О жизни Бесплатно (free)

Отвечаю на многократные вопросы про написание технических статей.

25.02.2020    5443    1c-intelligence    60    

44

Журнал Белокаменцева, выпуск № 1

О жизни Бесплатно (free)

Короткие тексты на разные темы

19.02.2020    5691    1c-intelligence    61    

43

Чтобы пацанам было не стыдно показать

О жизни Бесплатно (free)

Манифест умирающей профессии

04.02.2020    13111    1c-intelligence    90    

78

Книжная абстиненция

О жизни Бесплатно (free)

Стоит ли читать книги?

19.11.2019    7802    1c-intelligence    66    

56

Крупный бизнес = продуманное ПО = вершина карьеры?

О жизни Бесплатно (free)

Вот пойду я в крупную компанию и стану там успешным - получу много опыта и буду супер программистом!!! И тут вам бах и 40 )))) И хочется вечера тратить не на изучение новых фреймворков, изменений поведения платформы и что там у нас в зазеркалье понаписали, а на изготовление миниатюр природы или выращивании бонсая и написания рассказов для детей. Крупные компании - благо?

07.11.2019    45053    iov    34    

42

6 шотов

О жизни Бесплатно (free)

Небольшие пятничные истории о взаимоотношениях в коллективе

01.11.2019    11578    sapervodichka    28    

103

Шорты Белокаменцева

О жизни Бесплатно (free)

Короткие версии старых статей

28.10.2019    9587    1c-intelligence    18    

41

Медвежьи услуги по требованию

О жизни Бесплатно (free)

О, сколько открытий чудных готовит нам профессия программиста 1С.

16.10.2019    15419    1c-intelligence    115    

120

Пуля

О жизни Бесплатно (free)

Доля прибыли для сотрудников

10.10.2019    7958    1c-intelligence    64    

56

Видя деньги

О жизни Бесплатно (free)

Немножко бизнес-программирования.

09.09.2019    10081    1c-intelligence    94    

54

Полюби Козла

О жизни Бесплатно (free)

Не пожалеешь

02.09.2019    9346    1c-intelligence    79    

56

Аки Феникс

О жизни Бесплатно (free)

Про выгорание

17.08.2019    9770    1c-intelligence    21    

67

Автоматическое распознавание сканов документов и не только. История одной жизни...

О жизни Бесплатно (free)

В нашу жизнь все чаще и чаще внедряется искусственный интеллект, автоматизируются многие задачи, которые буквально 10 лет назад казались не реализуемыми в принципе. Сейчас все более актуальными становятся задачи автоматизации операторской работы, которые вытесняют человека или помогают ему упростить работу. Вот и мне захотелось поделится примерами такой автоматизации. За последние 4 года мне довелось более 10 раз внедрять подсистемы распознавания. Т. е. примерно каждые 4 месяца сталкиваюсь с задачами автоматизации распознавания и прикрепления сканов документов и похоже количество таких задач будет только возрастать. Хочу поделиться историями таких автоматизаций.

05.08.2019    12037    77dream77    10    

42

Как я буду мир спасать

О жизни Бесплатно (free)

Почему бы и нет?

30.07.2019    9902    1c-intelligence    78    

52

Корпоративный квест

О жизни Бесплатно (free)

Приём на работу ИТ-директоров в условиях легкого помешательства

06.07.2019    8031    1c-intelligence    56    

41