Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Закрытая тема
Старый 04.12.2012, 14:33
DaFive вне форума Посмотреть профиль Отправить личное сообщение для DaFive Посетить домашнюю страницу DaFive Найти все сообщения от DaFive
  № 11  
DaFive
 
Аватар для DaFive

Регистрация: May 2008
Адрес: {0,0}
Сообщений: 754
Записей в блоге: 1
Отправить сообщение для DaFive с помощью ICQ
Цитата:
Я только одно спрошу - вы на практике это проходили? Когда большой проект и нужно сегодня так, а завтра ровно наоборот?
Это разработчику архитектуры проекта надо по шапке давать за такое, когда сегодня одно подавай, а завтра другое. Сами сказали что проект крупный. И если он писался на коленке - это не проблема средств разработки. Это проблема в разработчиках.

Разделять классы на пакеты нужно. Возьмите в пример стандартные наборы классов и ответьте сами на вопрос, почему класс Event находится в пакете events, а не в display или вообще в корне.

А ответ на последний вопрос - в комменте iNilsа.
__________________
Кодинг, багинг, алгоритминг. me @

Старый 04.12.2012, 15:42
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 12  
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
Вы, исходя из практики работы с проектом >1к классов, расскажите, как решаются подобные трудности?
Если у вас больше 1к классов, то...
Понимаете, любая Flash IDE, будь это CS3 или CS6, не предназначена для нормальной работы с кодом. Это возможность есть, но наследство от самых первых версий. Когда я еще писал на AS1, то перешел на редактор Scite, потому что само редактирование кода в нем удобнее и приятнее. Переход на AS2, а потом и на AS3 привел меня к FD. Тут выигрыш еще больше. Мощный автокомплит, мгновенный переход к исходнику класса, собственные шаблоны, сниппеты и тп. Просто пример, допустим вы пишите код, который в голове уже представляете. Скажем в FD на его написание и редактирование у вас уйдет 5 минут, а в CS 10 минут (время условное). Сколько будет выигрыш во времени, если вы напишите 100 классов? 500 минут! А сколько вы потратите на изменение пакетов? С помощью того, что я писал выше, явно не эти 500 минут.
Откуда берется выигрыш во времени?

Допустим вам нужно создать два цикла вложенных друг в друга. Вы пишите ключевое слово сниппета и жмете Ctrl+B, вам сразу выпадает диалоговое окно, где уже проставлены имена счетчиков i,j (можно изменить) и начальное значение 0 (тоже меняется), вам остается только указать конечно значение и Enter. У меня ушло 8 секунд и я получил
Код AS3:
for (var i:int = 0; i < 200; i++) {
	for (var j:int = 0; j < 300; j++) {
 
	}
}
Сколько у вас уйдет на это в CS? У меня 23 секунды. Почти в 3 раза медленнее.

И такие мелочи вы используете постоянно, в отличии от смены имени пакета, отсюда и выигрыш во времени.
Цитата:
Например нужно перенести классы из кнопок из пакета interface в пакет interfase.buttons ?
Начнем с того, что нужно думать чуть вперед. Почему эти классы оказались у вас в interface ()? Когда создаете класс, то вы должны думать примерно так:
1. Это визуальные объекты, следовательно основой будет пакет (домен и имя проекта мы не трогаем, считаем, что они уже есть), в котором будут содержаться все подобные классы. Называем его ui или gui.
2. Кнопки могут быть разные. Например системные кнопки, а могут быть кнопки клавиатуры. Создаем для них еще папку, получаем ui.keyboard
3. Далее сами кнопки ui.keyboard.button
4. Длина пакета может быть еще больше, вы все таки представляете что вы делаете в итоге.

А если вы по умолчанию сразу все примитивно видите, то конечно, у вас всегда будет потребность расширять пакет.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 04.12.2012, 16:46
Bgg вне форума Посмотреть профиль Отправить личное сообщение для Bgg Найти все сообщения от Bgg
  № 13  
Bgg
 
Аватар для Bgg

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Цитата:
Сообщение от Korchy Посмотреть сообщение
Например нужно перенести классы из кнопок из пакета interface в пакет interfase.buttons ?
В Идее - выбираем файлы > Refactor > Move.. Все импорты и комментарии(по желанию) исправятся автоматически.

Не пойму к чему демагогия: в FD "фиктивного разбиения файлов" нету, есть find and replace. В других IDE есть дополнительные способы.

Старый 04.12.2012, 20:16
Korchy вне форума Посмотреть профиль Отправить личное сообщение для Korchy Найти все сообщения от Korchy
  № 14  
Korchy
 
Аватар для Korchy

Регистрация: May 2011
Сообщений: 301
Записей в блоге: 2
2 iNils

Спасибо, ваша точка зрения понятна.

У меня получается немного по-другому.
Цитата:
А если вы по умолчанию сразу все примитивно видите, то конечно, у вас всегда будет потребность расширять пакет.
Я наверное не профессионал Я по умолчанию вижу все как раз примитивно. Моя практика подсказывает, что как бы задача не ставилась, все равно потом придется все переделывать. Например в своем хобби-проекте я сначала сделал обработку квестов в клиенте. Замечательно, все работает, но при эелементарном стороннем воздействии на флешку, результат выполнения квеста мог быть подделан. Первая полная переделка - перевожу работу с квестами полностью на сервер. Опять же все работает, но появляется заметное отставание при получении каждый раз полной копии данных по квесту в клиенте. Полная переделка вторая - частично восстанавливается работа с квестом в клиенте и делается синхронизация измененных данных с сервером, за которым оставляется физический контроль над выполнением. В итоге результат удовлетворительный, но я не уверен, что не придется еще раз все переделать. А за три переделки куча классов появилась, удалилась, поменяла имена и функционал. Возможно для крутого профи это все очевидно с первого взгляда, для меня - нет. Я прохожу через поле с граблями. Поэтому вопрос постоянной реорганизации для меня достаточно важен.

По поводу скорости работы - я, опять же исходя из практики, замечаю, что основное время уходит не на задалбливание кода, а на его продумывание, чтобы все работало как мне надо и без сбоев. Поэтому выгадывание секунд при набивании на мой взгляд не так важно.
Вот автокомплит мне удобен, но посмотрев на автокомплит в FD, я как-то его застращался. Ввожу:
Код AS3:
var a:Edit
нажимаю пробел, чтобы вводить дальше " = new ...", получаю:
Код AS3:
var a:EventDispatcher
WTF ?? С какой стати автокомплит подменил введенный мной класс совершенно другим? На исправление уходит гораздо больше секунд, выгаданных за счет любых ускорений.

В общем я понял, преимущества сводятся в основном к удобству работы. Пока останусь на CS, единственное, что немного напрягает, периодически проскакивающие фразы о том, что CS не любит большого количества классов, отказывается компилировать, а у меня количество уже перевалило за 300.
__________________
interplanety

Старый 04.12.2012, 20:26
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 15  
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
С какой стати автокомплит подменил введенный мной класс совершенно другим? На исправление уходит гораздо больше секунд, выгаданных за счет любых ускорений.
А где находится класс Edit?

Добавлено через 9 минут
Так происходит, когда FD не может найти в ближайшем окружении этот класс.
Автокомплит пытается по введенным символам найти подходящий класс или список классов, они показываются в всплывающем контекстом меню и нажатие на пробел считается как выбор класса, который выделен в этом меню. Поэтому, если класс еще не создан, то перед нажатием на пробел нужно нажать Esc, это отменит автовставку. А чтобы потом произошел импорт, на классе Edit нажать ctrl+shift+1
И как можно работать с 1000+ классов без автокомплита? Наизусть все помнить?
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 04.12.2012, 21:00
Korchy вне форума Посмотреть профиль Отправить личное сообщение для Korchy Найти все сообщения от Korchy
  № 16  
Korchy
 
Аватар для Korchy

Регистрация: May 2011
Сообщений: 301
Записей в блоге: 2
Цитата:
А где находится класс Edit?
Существует в том же пакете. Я просто скопировал все классы из проекта в CS3. FD нормально собирает, правда только для 9 плеера, для 10 и выше что-то не так компилирует. А вот с автокомплитом такая засада. Когда в одном случае работает, а в другом нужно esc жать, очень неудобно. Проще тогда совсем отключить.

Цитата:
И как можно работать с 1000+ классов без автокомплита? Наизусть все помнить?
300+ я работаю, в принципе проблем особых с запоминанием нет.
Проблемы могут тут быть, если не один человек работает с кодом, но пока я все делаю сам.
__________________
interplanety

Старый 04.12.2012, 21:13
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 17  
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
Я просто скопировал все классы из проекта в CS3
А пакеты там верно указаны?
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 04.12.2012, 21:19
Korchy вне форума Посмотреть профиль Отправить личное сообщение для Korchy Найти все сообщения от Korchy
  № 18  
Korchy
 
Аватар для Korchy

Регистрация: May 2011
Сообщений: 301
Записей в блоге: 2
Цитата:
А пакеты там верно указаны?
Все в одном пакете.
__________________
interplanety

Старый 04.12.2012, 21:26
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 19  
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
Простите. 300+ классов в одном пакете?

Старый 04.12.2012, 21:46
Korchy вне форума Посмотреть профиль Отправить личное сообщение для Korchy Найти все сообщения от Korchy
  № 20  
Korchy
 
Аватар для Korchy

Регистрация: May 2011
Сообщений: 301
Записей в блоге: 2
Цитата:
Простите. 300+ классов в одном пакете?
Да. И я никак не пойму, почему это вызывает такую реакцию.
__________________
interplanety

Создать новую тему Закрытая тема Часовой пояс GMT +4, время: 14:28.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 14:28.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.