Журнал Компьютерра - 34 от 18 сентября 2007 года :: Компьютерра
Страница:
78 из 150
Как только мы спускаемся уровнем ниже "общего плана" – до отдельных строк кода, параметров функций и времени жизни переменных [Знаменитый теоретик computer sciense Гради Буч называет это "археологией при помощи зубной щетки"], – никакого другого метода понять и разобраться, кроме чтения строки за строкой, не остается.
Более того, и чтение кода без готовых, заранее поставленных вопросов – то есть просто "просмотр для галочки" – практически бесполезно. Самый же эффективный метод исследования – «деятельное» чтение, то есть участие в работе исследуемых исходников. В зависимости от свойств исследуемых кусков кода и окружающей среды "деятельное чтение" может означать, например, многократное выполнение «древней» программы с постепенным изменением различных частей ее кода; или прогонку в отладчике, с отслеживанием значений разных переменных; или «заимствование» непонятного куска в «чистую» среду (программу-заглушку) для выяснения принципов работы этого куска. Здесь же могут помочь модульные тесты (специальный код, тестирующий различные аспекты функциональности) – если они прилагались к исходникам, это куда полезнее любой спецификации; если же нет – могут быть написаны с нуля как один из видов деятельности в процессе исследования.
Придирчивый читатель мог бы заметить, что автор упускает из виду "объективно древние" исходники, которые по той или иной причине – нет старого компилятора, нет старой ОС, нет старой библиотеки – просто не могут быть собраны и запущены. Автор не упускает.
|< Пред. 76 77 78 79 80 След. >|