PDA

Просмотр полной версии : правильная публикация проекта


random13
21.10.2009, 14:20
И так, разрабатываю AC3 проект во Flex Builder

как я понял когда он будет готов к публикации требуется произвести его экспорт, для этого предусмотрен пункт меню export release build... данная опция очищает при компиляции от всех трейсов и прочего мусора.

возник вопрос если неожиданно во флешки всплывет ошибка, выскочит ли аллерт в dev версии флеша в браузере?

etc
21.10.2009, 15:28
Трейс оно не удаляет.
Алерт будет.

random13
21.10.2009, 17:10
хмм хорошо трейс я сам зачищу, алерта можно как то избежать кроме как написанием неприступного кода?

то есть получается проект только сжимается и маломальски оптимизируется..


кстати не так давно вроде была тема и говорили что трейс зачищается, или это при использовании специальной опции компилирования?

incoob
21.10.2009, 17:30
Насчет алертов - перед их вызовом писать if (DEBUG) и перед публикацией менять эту переменную на false (или написать свой алерт, который будет это делать).

Насчет трейсов - у компилятора 3 флекса такого параметра не было. Может в 4 флексе появилось, не знаю...

random13
21.10.2009, 18:01
Насчет алертов - перед их вызовом писать if (DEBUG)

всмысле вызовом...

не совсем понимаю, я сам алерты никакие не вызываю, я говорю что они могу возникнуть, по разным причинам, например, обращение к несуществующему объекту, понятно это не правильно но в любом случае не хочется показывать об этом всем это своего рода незапланированное поведение,

как в том же php можно установить ini_set("display_errors", 0);

так и тут мне нужно просто сделать так что даже если флешка не прально работает я не буду из за нее краснеть

DarkLight
21.10.2009, 18:24
не совсем понимаю, я сам алерты никакие не вызываю, я говорю что они могу возникнуть, по разным причинам, например, обращение к несуществующему объекту, понятно это не правильно но в любом случае не хочется показывать об этом всем это своего рода незапланированное поведение
Сейчас это сделать нельзя, это был один из самых частых feature request-ов последние пару лет, и Adobe разродилась глобальным обработчиком ошибок в Flash Player 10.1, который скоро будет доступен.

random13
21.10.2009, 18:28
блин офигенно то есть остается ждать... и отлавливать все возможные баги

etc
21.10.2009, 22:16
По мне так это наоборот вредная фича.

random13
22.10.2009, 11:36
чем же она вредная, рабочий проект должен работать при любым обстоятельствах запланировано, а окна с ошибками это уже не правильно, идеального кода не бывает и нее всегда представляется возможным предусмотреть все возможные варианты...

вот скажите мне уж не знаю пишите вы на php или нет но вы бы оставили отображение предупреждений на экран на рабочем проекте?

etc
22.10.2009, 12:06
Оставил бы. Иначе никогда бы об ошибках не узнал.

DarkLight
22.10.2009, 14:26
По мне так это наоборот вредная фича.
Вредная - если пустой обработчик. А если в обработчике складываются в лог все ошибки - то это очень полезно, т к дает возможность получать информацию о проблемах приложения, которое уже в бою, до получения фидбека пользователя, по которму часто нельзя определить, где и что произошло. Эта фича обеспечивает надежность приложения.

Второй вариант: загрузка в лоадер чужого по определению контента который плодит exception-ы. И в реальной жизни не всегда можно пнуть автора и заставить поправить.

etc
22.10.2009, 14:38
Эта фича обеспечивает надежность приложения.
Она обеспечивает молчания приложения, когда оно падает, а не надежность.

DarkLight
22.10.2009, 16:50
Она обеспечивает молчания приложения, когда оно падает, а не надежность.
Оох...
1) QA отдел не может охватить все извращения, которые делают с приложением пользователи. Данная фича позволяет нам получить информацию о состоянии приложения в момент возникновения проблемы, что позволяет создать более осмысленный error report, чем "я тут что-то подвигал и теперь у меня ничего не работает".
2) Никто не говорит, что будет молчать. Например можно вывести окошко, как делает весь нормальный софт. Eclipse просто хронически глючит, и меня бы не радовало если бы среда разработки висла нафиг при любой проблеме или скрывал от меня и все потом шло в разнос.
3) На чужом коде я должен иметь возможность отрубать ошибки и молчать. Не зря же просили хотя бы у Loader-а сделать обработчик. Допустим, я гружу флешки которые разрабатывают 200 человек других откуда угодно. Их ошибка мешает мне, и маты от клиента будут направлены в мой адрес.

random13
22.10.2009, 17:23
поддерживаю, здесь вопрос должен ставиться именно так: на сколько вы готовы краснеть перед начальником или клиентом

etc
22.10.2009, 23:26
Ни насколько, я ошибки устраняю.

DarkLight
23.10.2009, 01:03
Ни насколько, я ошибки устраняю.
Ага, особенно те, которые вываливаются изнутри плеера или flex framework, если он используется. В рунете более 100 живых версий (считая минорные) флеш плеера, во многих из них встречаются совершенно замечательные левые баги, которые надо просто перехватить для информации, так как ничего с ними не поделаешь.

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

etc
23.10.2009, 01:19
Я фреймворк флекса ни в коем разе нигде не использую, слава богу.
От того, что это кому-то нужно, сама фича не станет невредной. Хотите на наркоту подсесть — пожалуйста, я не запрещаю.

И да, какие такие ошибки «внутри плеера»? Пример, пожалуйста. Ни разу не видел, чесслово.

DarkLight
23.10.2009, 15:23
Ни разу не видел, чесслово.
Хм, повезло.

Да пожалуйста. в ранних версиях девятки при первом удобном случае валилось "Corrupt ABC data". На flash-ripper недавно проскакивал пост о баге на одной из левых минорных версий девятки, VerifyError-ы, возникающие на некоторых билдах, выбрасывающий "the supplied DisplayObject must be a child of a caller" swapChildren, где оба чайлда по определению валидны, и ручная перестановка индексов работает и т д. Это только то, с чем столкнулся непосредственно. В jira у адоби можно еще букет найти. В основном это правится через 1-2 билда, но вот незадача - не все пользователи обновляются.