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

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

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

Регистрация: Apr 2006
Сообщений: 85
По умолчанию Подходы к рефакторингу из процедурного программирования в ООП

Здравствуйте

Думаю многие здесь сталкивались с чужим кодом и знают что это такое.
Не далее как год назад я дописывал Флексовый проект за пхпистом, для которого АС3 оказался чужим. Программа была написана одним большим классом, разбитым на несколько слоев по функциональной принадлежности. Кучу времени было потрачено на осознание того что и за чем вызывается, в какой последовательности и т.д. Все это вдвойне печальней учитывая асинхронную природу веб приложений.. Цепочку методов очень сложно уложить в голове.

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

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

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

Заранее спасибо за коментарии!

Добавлено через 11 минут
Пока соображения такие:
Я засунул весь распухший таймлайн в клип main, и оставил на нем только прелоадер.
Вынес код с прелоадером в класс документа.

Я прикрутил к проекту Флекс Билдер чтобы иметь адекватную IDE.
Соображение было - вынести весь код разбитый по слоям во внешний .as файл чтобы иметь контекстные подсказки. Но сечас мне кажется что это не слишком большой +, я получу на выходе огромный файл с тучей функций.. Хочу определиться с чего начать!

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

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
у меня пока 1 выход из подобных ситуаций - вообще не браться за такое ))..
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

Старый 14.08.2009, 23:19
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 3  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Рефакторинг, это когда берется нормальный код и из него получается другой нормальный код... А в такой ситуации... если есть возможность, просто поубирать весь код с таймлайна, графику в SWC - и писать код по-новой. Если нет такой возможности - то скорее всего остается только посочувствовать...
__________________
Hell is the possibility of sanity

Старый 15.08.2009, 16:24
2morrowMan вне форума Посмотреть профиль Отправить личное сообщение для 2morrowMan Найти все сообщения от 2morrowMan
  № 4  
Ответить с цитированием
2morrowMan
 
Аватар для 2morrowMan

Регистрация: Aug 2007
Сообщений: 467
По-моему, с нуля будет проще переписать. Потому что я сомневаюсь что такое приложение от автора, который так его написал, может нести какую то ценность, тем более значимость его кода.
__________________
Лучше быть умным и иногда делать глупости, чем глупым и постоянно умничать!

Старый 15.08.2009, 16:49
chudesno вне форума Посмотреть профиль Отправить личное сообщение для chudesno Найти все сообщения от chudesno
  № 5  
Ответить с цитированием
chudesno
 
Аватар для chudesno

Регистрация: Apr 2006
Сообщений: 85
Мда, хорошего конечно мало, но я стараюсь не терять надежды)
Выкинуть все и переписать заново, это, конечно, сурово. Я попытаюсь обойтись без экстремальных решений пока. Отпишусь что получилось

Старый 15.08.2009, 17:57
MonkDead вне форума Посмотреть профиль Отправить личное сообщение для MonkDead Посетить домашнюю страницу MonkDead Найти все сообщения от MonkDead
  № 6  
Ответить с цитированием
MonkDead
 
Аватар для MonkDead

Регистрация: Dec 2007
Сообщений: 204
Цитата:
Вот и сейчас я засел за проект, написанный на АС3, но практически полностью во фреймах и с огромным куском функционала на главном таймлайне.
Знаете, что обычно делают с таким кодом? Распечатывают и идут в туалет. Цена такому коду стремится к нулю, не говоря уже о том, что производительности с такого кода никакой, особенно в игростроении.

Сочувствую вам, что вы были настолько неосмотрительным что бы взяться за подобные действия!

Как вам уже сказали, вы потратите меньше времени, если напишете все с нуля.

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

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

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


 


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


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