|
|
|||||
Регистрация: Dec 2008
Сообщений: 88
|
Ваши методы анализа, поделитесь :)
У меня есть задание доделать проект начатый другим человеком. Проблемма заключается в том, что в коде нету коментариев в принципе. И это мягко говоря "*****код". Поделитесь пожалуйста, как вы анализируете проекты и разбираетесь в взаимосвязях в коде, используемые методики, программы или литературы какой посоветуете поискать. Или тут как говорится "до посинения анализировать код взглядом покуда не дойдет "
зарание спасибо за любые коментарии |
|
|||||
Регистрация: Mar 2008
Сообщений: 215
|
Отлаживать надо, единственный вариант.
Но вы, по моему, разделом ошиблись... |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
МНТ (Метод Научного Тыка).
|
|
|||||
Регистрация: Nov 2005
Сообщений: 34
|
Enterprice Аrchitect может сделать Reverse Enginering и визуально что-то показать - я бы так попробовал для начала
|
|
|||||
Регистрация: Jan 2008
Сообщений: 669
|
Если это *****код, то пишу все заново, ибо в конце концов к этому и придешь
|
|
|||||
Регистрация: Dec 2008
Сообщений: 88
|
cybercub
попробовать можно, только мне кажется это мало чего даст. Всетаки взаимосвязи методов там описаны не будут. Kuruki не всегда это возможно по различны причинам. |
|
|||||
Регистрация: Nov 2005
Сообщений: 34
|
Взаимосвязь методов дальше рулиться в eclipse - можно по f3 побролить по коду, а тут первый взгляд на систему, может показать наследование чего-то от чего-то и композицию, но помому только в пределах одного пакета..
|
|
|||||
блогер
Регистрация: May 2008
Адрес: (0, 10, 185) в локальной системе
Сообщений: 721
Записей в блоге: 6
|
1. Читаю все доступные описания работы кода
2. Досконально вычитываю весь код, запоминаю какие классы за что отвечают, пытаюсь построить зависимости в голове. 3. Запускаю программу на выполнение в пошаговом режиме, запоминаю последовательность действий на разные события. Не сказал бы, что это самый эффективный способ, но для меня он работает хорошо. Сейчас как раз изучаю исходники одного очень большого проекта. |
|
|||||
Регистрация: Dec 2008
Сообщений: 88
|
а пошаговый режим - это через брекпоинты в дебаге???
|
|
|||||
Регистрация: May 2009
Сообщений: 220
|
Идем к основам. Например, к конструктору основного класса.
Смотрим его код от самого начала и вникаем в каждую стручку. - Присваивание переменным значения/ссылок (тут особое внимание на создание экземпляров пользовательских классов. Если таковой есть - кидаем все, лезем в этот класс и смотрим его конструктор) - если есть вызов функций в конструкторах, кидаем конструктор - смотрим функции с их аргументами. Иначе говоря, приоритет внимания на максимальную вложенность. - добавления слушателей и их обработчики пока не рассматриваем (держим в голове - все равно не выполняться пока, как минимум, не завершится текущий блок кода - кроме, разве что, пользовательских событий) - всякого рода операторы - читаем в порядке их появления в конструкторах. - по завершению работы конструкторов, когда приложение работает на события - смотрим в первую очередь обработчики загрузок. - смотрим обработчики ENTER_FRAME, TIMER... и еже сим. - прочие обработчики Думаю, принцип понятен. Это, конечно, может быть долго, нудно, а в большом коде еще можно забыть с чего начиналось. Но, имхо, этот способ самый основательный и надежный как автомат Калашникова. + самом собой постоянно думать и анализировать, для чего здесь указана та или иная строчка кода. + там, где непонятно - можно пошаманить со значениями и уже анализировать изменения. |
Часовой пояс GMT +4, время: 03:18. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|