![]() |
> 20 000 строк. Как такое отлаживать ?
Всем известно что сейчас компилляторы тройки очень медленные. Особенно компиллятор в flash 9 на яве. Время компилляции для меня стало серьёзной проблемой.
Писал программу, писал, писал, писал.... И дописался. Объём всех классов перевалил пермерно за 20 000 строк. около 300 кб фолдер с классами ( комменты я не люблю :) ). Теперь на компилляцию программы уходит больше минуты времени. Скорость девелопинга сильно упала. Заказчик не рад. Более 50% моего времени уходит на компилляцию программы. Происходит это примерно так: пишу две строчки - 20 секунд компилю.... - 1 минута смотрю трейс - 20 сек. пишу две строчки - 20 сек. компилю.... - 1 мин. Что делать и как с этим бороться? Может быть писать программы разбивая на отдельные модули-swf файлы с библиотеками классов? Может быть кто-нибудь сравнивал скорость компилляции большух сурсов в разных средах ? Flex, FDT что там ещё.... |
Классы, которые ты врядли уже будешь особо изменять стоит запихнуть в отдельные swf.
|
Да, да, сделать основное приложение, а всё, что по смыслу можно отделить - вынести в отдельные модули/плагины...
|
Смысла разбивать нету т.к. у тебя уйдет время на разработку модулей загрузки твоих "плагинов", на отладку. Как выход пиши за раз 20 строк )
|
У меня уже много раз были подобные траблы.
Большие проекты и в AS2.0 компилятся долго. Был у меня один проект, который компилился минуты 2. Выход был такой: я пересел временно на Макинтош и скорость компиляции возрасла в неск. раз... Сейчас таких проблем нет. Но не потому что комп поставил быстрее, а потому что делаю большие куски - и только потом компилю. Вообще, зачем после каждых 2 строк компилить? Напиши 200-300 - и вперед. А если не знаешь как работает та или иная функция - то лучше сделай маленький примерчик в отдельном проекте - и потом после того, как разберешься - прикручивай кусок к основному. А то так в серьезном проекте, когда у тебя будет 30-40 классов строк по 1500 каждый - уснешь пока скомпилишь. |
А комменты ты зря не любишь. Вот через пару месяцев решишь использовать сегодняшние наработанные классы - и будешь потом часа 2 вспоминать что в нем и как. Никто не говорит коментить каждую функцию - по их названиям все должно быть понятно. Но общий смысл работы, входящие и выходящие данные лучше описать. В этом случае можно будет потом этот класс отдать не доработку/пользование кому-нибудь другому. Вобщем как только начнешь работать в команде - сразу пригодится.
|
> Как такое отлаживать ?
Потребовать от шефа серьезный абгрейд компа ;) |
Цитата:
|
MerlinTwi, спасибо! Помогло! :)
|
Цитата:
|
Гм, а ты это, покороче писать не пробовал? :)
|
Цитата:
|
Не, причём тут количество символов…
Я про организацию — упростить, может… |
У меня flex проект (только папка с классами) весит ровно 300К и всё зашибись - специально засёк, 4 секунды надо на компиляцию...
ноутбук P4mobile 1.73MHz, 512Mb правда это чисто ас3 проект без MXML и без стандартных компонентов |
Цитата:
|
а у меня вся графика кроме иконок отрисована скриптом
|
я вижу выход из твоей ситуации:
вынести всю графику в отдельный swf, и, подгрузив его в главную флэшку, аттачить всё из него |
когда у меня появилась необходимость писать на AS3 я поставил себе и флек и флеш... но разобравшись с фоексом понял что можно обойтись без влеш вообще.. тоесть от программирования непосредственно во флеш. можно очень просто внедрять swf библиотеки с мувиками в ActionScript проекты флекса. а в нем отлаживать большое количество классов не составляет проблемы. во всяком случае у меня компилится все всегда очень бысто.
|
Дебаггер Флэкса решает однозначно :)
|
где то в хелпе флекса, было написанно про настройки компилятора, чтоб он не компилил каждый раз все классы, а только нужные.
|
file-specs path-element [...] - Specifies source files to compile. This is the default option for the mxmlc compiler.
Ты имеешь ввиду вот это ? |
| Часовой пояс GMT +4, время: 10:37. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.