Читать «Bash IT Happens Истории ## 9801 – 9900» онлайн - страница 21

Bash.org.ru IT

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

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

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

Сначала подумайте. Потом подумайте ещё раза три. Потом нарисуйте то, что вы придумали, потом на недельку положите это в стол — и уже потом пишите. А еще читайте Макконнелла. Даже если вы знаете его наизусть, всё равно читайте.

Я позволяю себе давать советы, потому что знаю: если им следовать, то мне и таким людям, как я, которые доделывают за программистами дырки в заборах, будет удобнее и проще работать. Ошибки всё равно будут, это нормально. Но их исправление не будет сопровождаться желанием засунуть некоторых программистов в газенваген.

#9850: Да не будет свет

12:15 10.09.2012, IT happens

Месяц назад мы с начальником нашей фирмы-интегратора ездили в процессинговый центр инсталлировать в ЦОД систему хранения данных. Инсталлировали-инсталлировали, пришло время обеда. Сходили пообедали, возвращаемся обратно. Мне, пардон, понадобилось в туалет. Туалет рядом с серверной. Я говорю начальнику и SAN-администратору центра, который был с нами: «Я забегу, а вы меня подождите. Я тут в первый раз, никого не знаю, внутрь закрытой серверной потом не попаду». Кивнули. Зашёл, выхожу — естественно, в коридоре обоих нет.

Стою перед серверной. Вход в неё, понятное дело, по электронным ключам, мобильник внутри остался. Стучать в металлическую дверь как-то некошерно, да и шум там внутри немаленький, помещение большое — не факт, что услышат. Ловить кого-то и спрашивать, как в серверную попасть, неловко, да и опасно может быть: режимный объект, как-никак.

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