Форум 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=128692)

chudesno 14.08.2009 20:19

Подходы к рефакторингу из процедурного программирования в ООП
 
Здравствуйте

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

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

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

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

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

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

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

cleptoman 14.08.2009 22:34

у меня пока 1 выход из подобных ситуаций - вообще не браться за такое ))..

wvxvw 14.08.2009 23:19

Рефакторинг, это когда берется нормальный код и из него получается другой нормальный код... А в такой ситуации... если есть возможность, просто поубирать весь код с таймлайна, графику в SWC - и писать код по-новой. Если нет такой возможности - то скорее всего остается только посочувствовать...

2morrowMan 15.08.2009 16:24

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

chudesno 15.08.2009 16:49

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

MonkDead 15.08.2009 17:57

Цитата:

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

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

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


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

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