![]() |
Подходы к рефакторингу из процедурного программирования в ООП
Здравствуйте
Думаю многие здесь сталкивались с чужим кодом и знают что это такое. Не далее как год назад я дописывал Флексовый проект за пхпистом, для которого АС3 оказался чужим. Программа была написана одним большим классом, разбитым на несколько слоев по функциональной принадлежности. Кучу времени было потрачено на осознание того что и за чем вызывается, в какой последовательности и т.д. Все это вдвойне печальней учитывая асинхронную природу веб приложений.. Цепочку методов очень сложно уложить в голове. Вот и сейчас я засел за проект, написанный на АС3, но практически полностью во фреймах и с огромным куском функционала на главном таймлайне. Сейчас весь этот код представляется мне необозримым. Хотелось бы узнать как вы выходите из подобных ситуаций? Наверняка существуют отработанные методики рефакторинга, применимые в подобных случаях. Кроме всего прочего, приложение претендует на наличие некоего подобия изометрического 3Д движка, который глючит. Получается нужно перегнать кучу процедурного кода в ООП. Заранее спасибо за коментарии! Добавлено через 11 минут Пока соображения такие: Я засунул весь распухший таймлайн в клип main, и оставил на нем только прелоадер. Вынес код с прелоадером в класс документа. Я прикрутил к проекту Флекс Билдер чтобы иметь адекватную IDE. Соображение было - вынести весь код разбитый по слоям во внешний .as файл чтобы иметь контекстные подсказки. Но сечас мне кажется что это не слишком большой +, я получу на выходе огромный файл с тучей функций.. Хочу определиться с чего начать! |
у меня пока 1 выход из подобных ситуаций - вообще не браться за такое ))..
|
Рефакторинг, это когда берется нормальный код и из него получается другой нормальный код... А в такой ситуации... если есть возможность, просто поубирать весь код с таймлайна, графику в SWC - и писать код по-новой. Если нет такой возможности - то скорее всего остается только посочувствовать...
|
По-моему, с нуля будет проще переписать. Потому что я сомневаюсь что такое приложение от автора, который так его написал, может нести какую то ценность, тем более значимость его кода.
|
Мда, хорошего конечно мало, но я стараюсь не терять надежды)
Выкинуть все и переписать заново, это, конечно, сурово. Я попытаюсь обойтись без экстремальных решений пока. Отпишусь что получилось:) |
Цитата:
Сочувствую вам, что вы были настолько неосмотрительным что бы взяться за подобные действия! Как вам уже сказали, вы потратите меньше времени, если напишете все с нуля. |
| Часовой пояс GMT +4, время: 18:44. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.