Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Ваши методы анализа, поделитесь :) (http://www.flasher.ru/forum/showthread.php?t=130893)

wer32 08.10.2009 01:10

Ваши методы анализа, поделитесь :)
 
У меня есть задание доделать проект начатый другим человеком. Проблемма заключается в том, что в коде нету коментариев в принципе. И это мягко говоря "*****код". Поделитесь пожалуйста, как вы анализируете проекты и разбираетесь в взаимосвязях в коде, используемые методики, программы или литературы какой посоветуете поискать. Или тут как говорится "до посинения анализировать код взглядом покуда не дойдет :wacko:"

зарание спасибо за любые коментарии :)

incoob 08.10.2009 01:22

Отлаживать надо, единственный вариант.

Но вы, по моему, разделом ошиблись...

etc 08.10.2009 01:27

МНТ (Метод Научного Тыка).

cybercub 08.10.2009 01:32

Enterprice Аrchitect может сделать Reverse Enginering и визуально что-то показать - я бы так попробовал для начала

Kuruki 08.10.2009 01:42

Если это *****код, то пишу все заново, ибо в конце концов к этому и придешь

wer32 08.10.2009 01:43

cybercub
попробовать можно, только мне кажется это мало чего даст. Всетаки взаимосвязи методов там описаны не будут.

Kuruki
не всегда это возможно по различны причинам.

cybercub 08.10.2009 02:05

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

Яски 08.10.2009 08:51

1. Читаю все доступные описания работы кода
2. Досконально вычитываю весь код, запоминаю какие классы за что отвечают, пытаюсь построить зависимости в голове.
3. Запускаю программу на выполнение в пошаговом режиме, запоминаю последовательность действий на разные события.

Не сказал бы, что это самый эффективный способ, но для меня он работает хорошо. Сейчас как раз изучаю исходники одного очень большого проекта.

wer32 08.10.2009 10:35

а пошаговый режим - это через брекпоинты в дебаге???

switcher! 08.10.2009 11:04

Идем к основам. Например, к конструктору основного класса.
Смотрим его код от самого начала и вникаем в каждую стручку.
- Присваивание переменным значения/ссылок (тут особое внимание на создание экземпляров пользовательских классов. Если таковой есть - кидаем все, лезем в этот класс и смотрим его конструктор)
- если есть вызов функций в конструкторах, кидаем конструктор - смотрим функции с их аргументами.
Иначе говоря, приоритет внимания на максимальную вложенность.
- добавления слушателей и их обработчики пока не рассматриваем (держим в голове - все равно не выполняться пока, как минимум, не завершится текущий блок кода - кроме, разве что, пользовательских событий)
- всякого рода операторы - читаем в порядке их появления в конструкторах.
- по завершению работы конструкторов, когда приложение работает на события - смотрим в первую очередь обработчики загрузок.
- смотрим обработчики ENTER_FRAME, TIMER... и еже сим.
- прочие обработчики

Думаю, принцип понятен. Это, конечно, может быть долго, нудно, а в большом коде еще можно забыть с чего начиналось. Но, имхо, этот способ самый основательный и надежный как автомат Калашникова.

+ самом собой постоянно думать и анализировать, для чего здесь указана та или иная строчка кода.
+ там, где непонятно - можно пошаманить со значениями и уже анализировать изменения.


Часовой пояс GMT +4, время: 12:05.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.