Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 08.10.2009, 01:10
wer32 вне форума Посмотреть профиль Отправить личное сообщение для wer32 Найти все сообщения от wer32
  № 1  
Ответить с цитированием
wer32
 
Аватар для wer32

Регистрация: Dec 2008
Сообщений: 88
По умолчанию Ваши методы анализа, поделитесь :)

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

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

Старый 08.10.2009, 01:22
incoob вне форума Посмотреть профиль Отправить личное сообщение для incoob Найти все сообщения от incoob
  № 2  
Ответить с цитированием
incoob

Регистрация: Mar 2008
Сообщений: 215
Отлаживать надо, единственный вариант.

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

Старый 08.10.2009, 01:27
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 3  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
МНТ (Метод Научного Тыка).

Старый 08.10.2009, 01:32
cybercub вне форума Посмотреть профиль Отправить личное сообщение для cybercub Найти все сообщения от cybercub
  № 4  
Ответить с цитированием
cybercub

Регистрация: Nov 2005
Сообщений: 34
Enterprice Аrchitect может сделать Reverse Enginering и визуально что-то показать - я бы так попробовал для начала

Старый 08.10.2009, 01:42
Kuruki вне форума Посмотреть профиль Отправить личное сообщение для Kuruki Найти все сообщения от Kuruki
  № 5  
Ответить с цитированием
Kuruki

Регистрация: Jan 2008
Сообщений: 669
Если это *****код, то пишу все заново, ибо в конце концов к этому и придешь

Старый 08.10.2009, 01:43
wer32 вне форума Посмотреть профиль Отправить личное сообщение для wer32 Найти все сообщения от wer32
  № 6  
Ответить с цитированием
wer32
 
Аватар для wer32

Регистрация: Dec 2008
Сообщений: 88
cybercub
попробовать можно, только мне кажется это мало чего даст. Всетаки взаимосвязи методов там описаны не будут.

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

Старый 08.10.2009, 02:05
cybercub вне форума Посмотреть профиль Отправить личное сообщение для cybercub Найти все сообщения от cybercub
  № 7  
Ответить с цитированием
cybercub

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

Старый 08.10.2009, 08:51
Яски вне форума Посмотреть профиль Отправить личное сообщение для Яски Найти все сообщения от Яски
  № 8  
Ответить с цитированием
Яски

блогер
Регистрация: May 2008
Адрес: (0, 10, 185) в локальной системе
Сообщений: 721
Записей в блоге: 6
1. Читаю все доступные описания работы кода
2. Досконально вычитываю весь код, запоминаю какие классы за что отвечают, пытаюсь построить зависимости в голове.
3. Запускаю программу на выполнение в пошаговом режиме, запоминаю последовательность действий на разные события.

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

Старый 08.10.2009, 10:35
wer32 вне форума Посмотреть профиль Отправить личное сообщение для wer32 Найти все сообщения от wer32
  № 9  
Ответить с цитированием
wer32
 
Аватар для wer32

Регистрация: Dec 2008
Сообщений: 88
а пошаговый режим - это через брекпоинты в дебаге???

Старый 08.10.2009, 11:04
switcher! вне форума Посмотреть профиль Отправить личное сообщение для switcher! Найти все сообщения от switcher!
  № 10  
Ответить с цитированием
switcher!

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

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

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

Создать новую тему Ответ Часовой пояс GMT +4, время: 16:22.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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