Форум jimm.net.ru

  • Вы не зашли.

#1 2008-06-07 02:56:50

aspro
Прохожий
Зарегистрирован: 2007-03-24
Сообщений: 1768
Модель телефона: nokia 6233 & 5530
Профиль  Вебсайт

Руководство Дьявола по отладке

Руководство Дьявола по отладке


Отрывок из книги С. Макконнелла "Совершенный код"


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

Айрис Весси (Iris Vessey)



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

Код:

x = Compute( y )
if ( y = 17 )
    x = $25.15 - если y = 17, метод Compute() не работает; мы это исправляем

Зачем анализировать метод Compute() в поисках причины непонятной проблемы со значением 17, если можно просто написать частный случай в очевидном месте?

Суеверная отладка


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

----
ПС: посвещается недавнему диалогу о классическом чате.


Кто ты? Чего ты хочешь?

Неактивен

 

Board footer

Powered by PunBB 1.2.14
© Copyright 2002–2005 Rickard Andersson
Модифицирован PunBB.ru
А находится на jimm.net.ru