1W

Правильная отладка

в выпуске 2015/07/30
27 февраля 2015 - Павел Пименов
article3775.jpg

- Ты у меня заработаешь, - приговаривал Сеня, быстро стуча по кнопочками на клавиатуре. - Ты у меня обязательно заработаешь.
На мониторе сменяли друг друга окна отладчика, пошагового компилятора, среды разработки ПО, всплывали на миг чёрно-белые текстовые окошки ДОС-исполнителя, ассемблера, трассировщика и тут же пропадали, противно пискнув. Но ничего не помогало. Программа не хотела работать правильно.
Сеня бился над кодом вторую неделю, вычищал и отлаживал, прогонял на тестах с покрытием, граничных условий, перекрёстных данных, всплывал методом разбиения на модули и агрегировал фронтальным способом. Ничего не помогало. Ежевечерняя сборка на полном прогоне тестов давала ошибку. И всегда в другом месте.
Плавающая ошибка - страшный сон любого программиста-разработчика. Единственным средством борьбы с ней было полное переписывание всего кода, а это  месяцы и месяцы кропотливого труда. Сеня поёжился. "Ну уж нет, проще уволиться. - подумал он. - Другая фирма, такая же маленькая, с радостью возьмёт опытного разработчика к себе. А эту загадку компьютерного мира придётся бросить."
Сеня вылез из-за стола, накинул куртку и вышел проветрится.
- Здорово! - окликнул его на улице лысоватый дядька далеко за сорок.
- Здравствуйте, Николай Иваныч, - поприветствовал Сеня соседа по подъезду.
- Как, друг-Семён, дела у молодых программистов-надомников? - полюбопытствовал сосед.
- Фигово, - честно признался Сеня.
- Девушки не дают, да? - подмигнул сосед.
- Да нет, Николай Иваныч, по работе.
- Компьютер не даёт, хе-хе?
Сеня улыбнулся. Вот умеет Николай Иваныч поднять настроение. Вроде всё хреново, и впереди только хуже, а встретишь этого толстяка-добряка, пять минут, и жизнь, оказывается, не так уж и плоха.
- Компьютер даёт, да не то. Ошибки, - объяснил как мог понятнее Сеня. Он знал, что сосед отъявленный гуманитарий, то ли историк, то ли этнограф в Институте Африки, короче, в компьютерах ни бум-бум.
- Это бывает. Ничего, исправишь, - обнадёжил сосед.
- Хотелось бы, - Сеня вздохнул.

Два дня спустя в том же дворе Сеня жался на лавочке, уныло пиная раскисшую землю. Ничего не помогало, программа наотрез отказывалась работать. Мысли о переходе на другую работу обретали чёткость реального плана.
Из подъезда выкатился Николай Иванович, на ходу застёгивая пальтишко и наматывая шарф. Старомодный портфель из кожзаменителя сосед удерживал подмышкой.
- Здрасьте, Николай Иваныч, - поприветствовал спешащего гуманитария технарь-неудачник.
- А, друг-Семён, здорово!  - откликнулся сосед. - Как жизнь молодых программистов-надомников? Охмуряем девчат, а?
- Охмуряем, - согласился Сеня и пнул ногой кусок лежалого снега.
- Врёшь, друг-Семён, врёшь. Это нехорошо, - Николай Иванович справился с одеждой, но вместо того, чтобы упрыгать по своим делам, взглянул на большие наручные часы, решительно поддёрнул брюки и плюхнулся на скамейке рядом с Сеней. - Рассказывай, друг-Семён, какие у тебя печали.
Сеня попытался как можно доходчивее объяснить специалисту по африканским культурам, что такое плавающая ошибка, и как трудно её найти, но видя полное непонимание собеседника, запнулся и умолк.
- Капризничает твоя программа, - понял по-своему Николай Иванович.
- Ну, можно и так сказать, - не стал спорить Сеня.
- Так-так, - задумчиво произнёс Николай Иванович. - Так-так.
Сеня поднялся, собираясь попрощаться и идти домой, но сосед жестом остановил его.
- Погоди, друг-Семён. Есть у меня одна мысль, как тебе помочь, - этнограф помолчал и продолжил. - Скажи-ка, а есть ли в твоей программе кусочек, который отвечает за... передачу полезных данных между разными частями программы?
Сеня задумался: "Что за странный вопрос. Все данные полезны. Или нет? Может, диспетчер сообщений?"
- Вроде есть такой, - неуверенно ответил программист.
- А есть кусочек, который поступающие данные обеззараживает?
Тут Сеня не сомневался.
- Конечно, есть.
- Отлично, друг-Семён, - обрадовался этнограф. - Ты бы мне эти кусочки распечатал.
- Сейчас?
- А чего тянуть? Только ты их пометь. На бактерицидном напиши "С", а на транспортном "К", идёт?
- Ладно, -  согласился Сеня. А про себя подумал: "Может, у них в институте знакомые компьютерщики есть? Вдруг помогут."

День прошёл, ночь прошла.
Ранним утром раздался звонок в дверь. Невыспавшийся Сеня хмуро приветствовал соседа. Тот, напротив, был в приподнятом настроении.
- Ну, друг-Семён, пляши. Удалось твою задачку решить.
- Да? - вежливо поинтересовался Сеня.
- Да! Признаюсь, было непросто. Я-то в этих ваших компьютерах мало что смыслю. Но гостит у нас в институте один ямайский товарищ, большой спец по таким вопросам. Наколдовал он тебе решение. Вот, держи, - и Николай Иванович вытащил из пакета белую коробку, размером как из-под обуви.
"Что там может быть? - удивился Сеня. - Жёсткий диск? Стопка дивидишек?" Но он не угадал. В коробке лежала детская игрушка.
- Спасибо, Николай Иваныч, - поблагодарил доброхота Сеня и хотел закрыть дверь, но сосед решительно отстранил Сеню в сторону и прошёл в комнату.
- Нет, друг-Семён, ты не понимаешь. Показывай свою программу, а я научу тебя, как её исправить.
***
На предварительных и финальных тестах программа вела себя идеально.
Владелец фирмы, где работал Сеня, принимал поздравления от заказчиков, гордо восседая за длинным столом переговоров. На брифинге был и Сеня, сидел с краю, молчал, пропуская мимо ушей все славословия компьютерных профанов. И лишь когда переговоры подошли к концу, и обрадованные заказчики положили дистрибутив программы в кейс, что-то толкнуло Сеню к странному признанию.
Подойдя к одному из заказчиков вплотную, Сеня вполголоса сказал:
- Программа иногда, очень-очень редко, но может сбойнуть.
- Вот как?
- Нет-нет, не волнуйтесь, это очень, ну очень-очень маловероятно. Но на всякий случай, если такое произойдёт, просто ткните чем-нибудь острым вот в это, - сказал Сеня, протягивая заказчику тряпичную куклу-вуду.

 

Предыдущий рассказ серии здесь http://фантастика.рф/публикации/рассказы/лекарство-от-жизни.html

Похожие статьи:

РассказыВ завязке (миниатюра)

РассказыДва соседа

РассказыЛекарство от жизни

РассказыПосылка (миниатюра)

Рейтинг: +10 Голосов: 10 2068 просмотров
Нравится
Комментарии (33)
DaraFromChaos # 27 февраля 2015 в 17:58 +6
сурово ты, Паш, с программистом :)))
хотя и вправду - реализм: чем-нибудь острым - оно завсегда любую проблему решает zlo
Павел Пименов # 27 февраля 2015 в 18:07 +6
Программисты меня поймут.
С этими неотлаживающимися программами только так и надо. zlo

Спасибо, Дара, за плюсик. И когда только ты успеваешь всё читать? love
DaraFromChaos # 27 февраля 2015 в 18:09 +6
да вот панимаш zst люблю я это дело: читать :))) ажно кушать иногда не могу, если не прочитаю какой-нибудь аппетитный рассказик про живых мертвецов или зомбей, на части рассыпающихся laugh
Евгений Вечканов # 27 февраля 2015 в 18:17 +5
Эк автора торкнуло! crazy
Вот уж никак не думал, что моё скромное "Объявление" даст такую почву для размышлений!
"Идея вуду как источник вдохновения" - прекрасная тема для кандидатской! v
Рассказ интересный, мне очень понравился. Плюс!!!
Павел Пименов # 27 февраля 2015 в 18:23 +5
Два рассказа ещё в работе, один - неизвестно, прикрутится туда вуду или нет, ещё два - на уровне идеи.
Но два точно будут. Чуть попозже, правда. Надо добить хвосты по обязательствам.
Павел Пименов # 27 февраля 2015 в 18:24 +5
И за плюс спасибо, конечно.
Боюсь даже ещё твои миниатюры читать, а то опять торкнет, а рук всего две и в сутках 24 часа, не больше. sad
Евгений Вечканов # 27 февраля 2015 в 18:26 +5
Не бойся (читать, я имею в виду))), читатель из тебя очень благодарный получается!
Этак ты и на конкурс чего-нибудь этакое напишешь - про вуду hoho
Borodec # 27 февраля 2015 в 18:35 +5
и на что же похожа кукла-вуду программы?
Рассказ симпатичный, но концовочка довольно странная, слишком предсказуемая и ничего не дающая.
Павел Пименов # 27 февраля 2015 в 18:39 +5
а разве куклы-вуду чем-то отличаются друг от друга?
Я не знал. Хм...
задумывалась как обычная игрушка-кукла. ручки-ножки-голова.
Спасибо за отзыв. Подумаю, как точнее описать.
Borodec # 27 февраля 2015 в 18:45 +6
Моё личное мнение, так что могу ошибаться, стоит уточнить у умных людей, Кукла как-то должна символизировать тот объект, который она изображает. Кукла человека для человека, а вот на лося такая кукла уже не подействует.
Павел Пименов # 27 февраля 2015 в 19:34 +5
кукла-вуду для лося? shock
А, блин, это ж ещё пять рассказов!!! dance
Borodec # 27 февраля 2015 в 19:52 +6
Дык праздники жеж, вот под эту темку и подогнать лосю куклу, а уж потом его тыкать и за рога держать. Ты только никому, а то мало ли.. вдруг лось первый успеет подарить
DaraFromChaos # 27 февраля 2015 в 20:24 +4
а разве куклы-вуду чем-то отличаются друг от друга?
еще как отличаются
1. кукла должна иметь хотя бы примерное сходство с объектом. то есть блондинистая кукла для использования на брюнете не пойдеть.
и когда им мордочки рисуют, то стараются, чтобы похоже выходило.
при этом фотки лица объекта наклеивать низя. все должно быть сделано вручную
2. кукла должна содержать в себе (или на себе) нечто, принадлежащее объекту: например, штанишки из личного носового платка. или пинджачок :)) из галстука
в идеале: внутрях у ней должна быть частичка тела объекта - волос, ноготь, кусочек кожи. короче, чего заказчик добудет.
3. кукла должна иметь некий аксессуар, связанный с профессией или социальным статусом объекта. то есть королеве полагается корона на голову, программисту, ну... не знаю, микро-клавиатура подмышку, сантехнику - вантуз в руку.

в общем, Паш, хочешь соблюсти достоверность для гордой и занудной питицы Бородец, принимай в расчет инструкции от вселенского зла zlo
хотя и так у тебя забавный сериал получается rofl
Павел Пименов # 27 февраля 2015 в 20:33 +5
дык про частичку я понял.
распечатка транспортного кода - аналог крови
распечатка входного интерфейса - аналог слюны.
А вот про сходство с оригиналом, хм...
Видать, крупный специалист приехал с Ямайки в Институт Африки, если смог заколдовать без сходства. Крупнейший авторитет среди всех вуду-дельцев. dance
0 # 27 февраля 2015 в 18:41 +5
Енто был мой вирус там... Домик для Мэгги
Павел Пименов # 27 февраля 2015 в 19:51 +6
Тогда и этот убежит. Вот заказчики "обрадуются".
Вячеслав Lexx Тимонин # 27 февраля 2015 в 21:41 +6
Однако, плюс! Пожалуй я себе такую куклу заведу, иногда не хватает. zlo
И не стоит докапываться до то вида куклы. Рассказ и без этого супер. Чуть подрихтовать и в печать :))
Borodec # 27 февраля 2015 в 21:49 +6
До вида тут исключительно факультативно докапываются, а вот содержания маловато,
"Нужно больше букаф для бога букаф!!!!
Павел Пименов # 27 февраля 2015 в 21:54 +6
Спасибо, Слава. laugh
Константин Чихунов # 7 марта 2015 в 19:10 +6
Мне понравилось, только, наверное, нужно было написать, как эта кукла выглядела, ведь эти вещи должны на жертву походить внешне.
Павел Пименов # 7 марта 2015 в 19:25 +6
Да, это вопрос вопросов. Будем думать. Спасибо.
Григорий LifeKILLED Кабанов # 26 мая 2015 в 16:46 +2
Кукла может выглядеть как угодно. Просто тряпичная куколка. Главное - что внутри. Кости там (хотя бы куриные), волосы... Но в данном случае - сложенные листки с распечатанным кодом dance
Павел Пименов # 26 мая 2015 в 18:35 +2
Интересная мысль. Спасибо.
Валерия Гуляева # 13 апреля 2015 в 01:07 +5
Танца с бубнами не хватает)))
А потом люди удивляются, откуда с ними из телика умершие родственнички базарят. Это прогеры мухлюют во всю. Надо прикрыть вашу лавочку, не ровен час восстание машин спровоцируете))))))
Павел Пименов # 13 апреля 2015 в 07:41 +4
Во всём виноват Евгений Вечканов.
Валерия Гуляева # 13 апреля 2015 в 10:48 +4
Не-не. Он ответственен лишь за посыл мысли в свободный полёт. А что из этого вышло и кто её поймал - явно не его забота)))
DjeyArs # 13 апреля 2015 в 01:58 +5
Вот уж как на Пашу "Объявление" Жени Вечканова подействовало!)) я то думал какая-то хитрая заковыристая замудреность (а если честно на демона запечатанного в компьютере надеялся zlo crazy ) а тут магия оказывается виновата)) не все равно понравился этот анекдотичный рассказ! Помню когда у самого допотопный комп стоял, также с ним мучился когда какая-то ошибка не пропускала меня в Нортон Командер, там у меня все игры лежали rofl
Павел Пименов # 13 апреля 2015 в 07:39 +4
Я обычно технику стараюсь задабривать. Поглажу, поговорю ласково, к совести взываю.
А вот с телевизорами с детства - только пинком и кулаком. Телеки по-другому не понимают.
Григорий LifeKILLED Кабанов # 26 мая 2015 в 10:49 +3
Кааааак, как я такой классный рассказ пропустил, ну что же я за ... такое?!

Оказывается, если что-то действеннее, чем бубен, - это кукла Вуду!

"чёрно-белые текстовые окошки ДОС-исполнителя"

Правильнее "консольные окошки" или как-то так. ДОСа давно нет smile Хотя кто его знает, может, и правда есть такой жаргон. И всё же "консольные" - правильнее.
Вячеслав Lexx Тимонин # 26 мая 2015 в 12:25 +4
Варианты окон: окно консоли или консольное окно, командное окно.
И ДОС исполнителя нет. Поскольку последний чистый DOS помер после Windows 95 (Это последняя операционка которая позиционировалась, как надстройка над ядром DOS ), то правильнее говорить не "ДОС исполнитель", а интерпретатор команд DOS.
Сейчас, несмотря на архаичный вид окошек, в винде используют понятие "Командная строка". Она обрабатывается командной оболочкой (Shell).
А вообще-вообще все ноги растут от древних Unix систем.
Павел Пименов # 26 мая 2015 в 14:53 +3
Ага. Косяк. Писал быстро, и про почивший ДОС забыл совсем. :(
Павел Пименов # 26 мая 2015 в 14:52 +3
да, правильно. Лучше терминальное окошко, консольное, или командная строка.
Это я упустил, спасибо, что заметил.
0 # 12 июля 2016 в 13:18 +1
Думаю попробовать так рассказы писать laugh Плюс
Добавить комментарий RSS-лента RSS-лента комментариев