PDA

Просмотр полной версии : > 20 000 строк. Как такое отлаживать ?


miramax
06.12.2006, 15:16
Всем известно что сейчас компилляторы тройки очень медленные. Особенно компиллятор в flash 9 на яве. Время компилляции для меня стало серьёзной проблемой.
Писал программу, писал, писал, писал.... И дописался. Объём всех классов перевалил пермерно за 20 000 строк. около 300 кб фолдер с классами ( комменты я не люблю :) ).
Теперь на компилляцию программы уходит больше минуты времени. Скорость девелопинга сильно упала. Заказчик не рад.
Более 50% моего времени уходит на компилляцию программы. Происходит это примерно так:

пишу две строчки - 20 секунд
компилю.... - 1 минута
смотрю трейс - 20 сек.
пишу две строчки - 20 сек.
компилю.... - 1 мин.

Что делать и как с этим бороться? Может быть писать программы разбивая на отдельные модули-swf файлы с библиотеками классов? Может быть кто-нибудь сравнивал скорость компилляции большух сурсов в разных средах ? Flex, FDT что там ещё....

etc
06.12.2006, 15:34
Классы, которые ты врядли уже будешь особо изменять стоит запихнуть в отдельные swf.

Dendroid
06.12.2006, 21:33
Да, да, сделать основное приложение, а всё, что по смыслу можно отделить - вынести в отдельные модули/плагины...

__i
07.12.2006, 13:34
Смысла разбивать нету т.к. у тебя уйдет время на разработку модулей загрузки твоих "плагинов", на отладку. Как выход пиши за раз 20 строк )

librio
08.12.2006, 13:45
У меня уже много раз были подобные траблы.
Большие проекты и в AS2.0 компилятся долго. Был у меня один проект, который компилился минуты 2. Выход был такой: я пересел временно на Макинтош и скорость компиляции возрасла в неск. раз...
Сейчас таких проблем нет. Но не потому что комп поставил быстрее, а потому что делаю большие куски - и только потом компилю.
Вообще, зачем после каждых 2 строк компилить? Напиши 200-300 - и вперед.
А если не знаешь как работает та или иная функция - то лучше сделай маленький примерчик в отдельном проекте - и потом после того, как разберешься - прикручивай кусок к основному.
А то так в серьезном проекте, когда у тебя будет 30-40 классов строк по 1500 каждый - уснешь пока скомпилишь.

librio
08.12.2006, 13:49
А комменты ты зря не любишь. Вот через пару месяцев решишь использовать сегодняшние наработанные классы - и будешь потом часа 2 вспоминать что в нем и как. Никто не говорит коментить каждую функцию - по их названиям все должно быть понятно. Но общий смысл работы, входящие и выходящие данные лучше описать. В этом случае можно будет потом этот класс отдать не доработку/пользование кому-нибудь другому. Вобщем как только начнешь работать в команде - сразу пригодится.

MerlinTwi
08.12.2006, 14:38
> Как такое отлаживать ?
Потребовать от шефа серьезный абгрейд компа ;)

etc
08.12.2006, 15:16
1500 каждый - уснешь пока скомпилишь.
500 строк — это уже много. Большие классы — это плохо.

BlooDHounD
08.12.2006, 15:25
MerlinTwi, спасибо! Помогло! :)

miramax
08.12.2006, 20:32
Вообще, зачем после каждых 2 строк компилить? Напиши 200-300 - и вперед.
.Как раз во время отладки меняется по 1-2 строчки. Нужно много раз перекомпиливать, что бы тестировать и искать ошибки-несостыковки. Просто когда проектировал приложение не планировал выносить классы во внешние либы. Теперь мучаюсь. Если начну выносить в внешние файлы классы, возможно потеряю больше времени, т.к. до окончания проекта осталось совсем немного.

etc
08.12.2006, 20:35
Гм, а ты это, покороче писать не пробовал? :)

miramax
08.12.2006, 20:48
Гм, а ты это, покороче писать не пробовал? :)
Предлагаешь писать код по два-три символа методом тыка ? :)

etc
08.12.2006, 20:55
Не, причём тут количество символов…
Я про организацию — упростить, может…

artcraft
09.12.2006, 04:34
У меня flex проект (только папка с классами) весит ровно 300К и всё зашибись - специально засёк, 4 секунды надо на компиляцию...
ноутбук P4mobile 1.73MHz, 512Mb

правда это чисто ас3 проект без MXML и без стандартных компонентов

miramax
09.12.2006, 12:41
У меня flex проект (только папка с классами) весит ровно 300К и всё зашибись - специально засёк, 4 секунды надо на компиляцию...
ноутбук P4mobile 1.73MHz, 512Mb

правда это чисто ас3 проект без MXML и без стандартных компонентов
У меня 280 и туча графики к некоторым классам привязана:)

artcraft
09.12.2006, 19:09
а у меня вся графика кроме иконок отрисована скриптом

artcraft
09.12.2006, 19:13
я вижу выход из твоей ситуации:
вынести всю графику в отдельный swf, и, подгрузив его в главную флэшку, аттачить всё из него

kozloffsky
14.12.2006, 14:44
когда у меня появилась необходимость писать на AS3 я поставил себе и флек и флеш... но разобравшись с фоексом понял что можно обойтись без влеш вообще.. тоесть от программирования непосредственно во флеш. можно очень просто внедрять swf библиотеки с мувиками в ActionScript проекты флекса. а в нем отлаживать большое количество классов не составляет проблемы. во всяком случае у меня компилится все всегда очень бысто.

nouba
14.12.2006, 22:31
Дебаггер Флэкса решает однозначно :)

Nirth
15.12.2006, 00:57
где то в хелпе флекса, было написанно про настройки компилятора, чтоб он не компилил каждый раз все классы, а только нужные.

nouba
15.12.2006, 15:12
file-specs path-element [...] - Specifies source files to compile. This is the default option for the mxmlc compiler.

Ты имеешь ввиду вот это ?