Рубрика: Useful
<Object/> vs <Embed/>. Backdoor.
Чуть-чуть истории, стандартов и браузеров. Чуть-чуть разногласий и принципиальных различий, технических нюансов и механизмов внедрения + немного субъективности и любознательности. Солянка готова.
Закиньте простыню с крестом в стирку и выпейте стаканчик молока если вдруг у кого к Microsoft-у сильная изжога имеется. А вообще-то, этот пост не про то. ![]()
Осторожно много букав!
Обратный инжениринг со Sparx EA за пару кликов
Баян. Ооочень древний.
Я почти уверен, ведь вы уже давно знаете, что Sparx Enterprise Architect поддерживает ActionScript 2/3. Костя писал про это еще в неблизком 2006 году. Кроме всего навороченного, он умеет генерировать код из UML-схем. Но субъективно гораздо более интересной была фича “Reverse Engineering and Synchronizing", которая позволяет генерировать UML-схемы на базе существующих исходников, с поддержкой различных языков: ActionScript, C, C#, C++, Delphi, Java, PHP, Python, Visual Basic, Visual Basic.NET. Также, например, можно преобразовать ActionScript код в любой из поддерживаемых языков и vice versa, импортировать и генерировать WSDL, импортировать модель базы данных через ODBC и много всего не менее прекрасного.
А сейчас, как можно проще и быстрее, сгенерируем UML-схему на базе ActionScript классов. Качаем триал (порядка 29MB ) и запускаем.
В картинках.
Создаем новый проект и выбираем модель “Class".
step 1.

Можно, например, сразу создать новый package и импортировать туда папку с исходным кодом. Правый клик на package -> Code Engeneering -> Imoprt Source Directory, но сделаем же это пошагово. И не будем особо придираться к структуре папок по умолчанию, а оставим пока все как есть. Двойным щелчком открываем диаграмму System.
step 2.

Удаляем ненужный хлам и правым кликом выбираем импорт.
step 3.

После того как выбранные классы/интерфейсы импортировались и установлены зависимости, можно причесать схему автоматикой.
step 4.

При импорте папки с кодом целиком (Code Engeneering -> Imoprt Source Directory), возникает сложность с отображением всех схем на одной диаграмме, так как EA создает отдельную диаграмму со схемами для каждой вложенной папки (если в папке нет кода, то диаграмма будет пуста). Не искал как их объединить. Вдруг кто знает? Но можно напихать интересующие классы в один .as, импортировать и получить желаемый результат на одной диаграмме, ну или прочувствовать мощь step-а 3. ![]()
Стоит эта штука US $199 за одну Professional Edition.