Пименов Павел : другие произведения.

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

Самиздат: [Регистрация] [Найти] [Рейтинги] [Обсуждения] [Новинки] [Обзоры] [Помощь|Техвопросы]
Ссылки:


 Ваша оценка:
  • Аннотация:
    Плавающая ошибка в компьютерной программе портит жизнь молодому программисту. Приструнить программу вызвался помочь сосед, специалист по африканским культурам.

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

Связаться с программистом сайта.

Новые книги авторов СИ, вышедшие из печати:
О.Болдырева "Крадуш. Чужие души" М.Николаев "Вторжение на Землю"

Как попасть в этoт список
Сайт - "Художники" .. || .. Доска об'явлений "Книги"