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

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 01.03.2011, 17:40
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 31  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,601
Записей в блоге: 17
Покурил, подумал.
Меня смущает вот что:
Код AS3:
		new <State>[
			this._chatBubble.state2, 
			this._chatBubble.state3,
			this._chatBubble.state1,
			this._chatBubble.state1,
			this._chatBubble.state1,
			this._chatBubble.state2,
		],
		new <State>[
			this._chatBubble.state2, 
			this._chatBubble.state3,
			this._chatBubble.state3,
			this._chatBubble.state1,
			this._chatBubble.state1,
			this._chatBubble.state1,
			this._chatBubble.state1,
			this._chatBubble.state2,
			this._chatBubble.state2,
		]];
Аналогично моему switch`у. Строчки дублируются всё таки, но без этого никак.
По большему счету ты просто вынес метод setTailPosition в 5 разных классов-стейтов (это вьюшки, кстати, управляющие положением точки "начала" баббла разговора). Собственно, количество повторений в моём коде ~= повторениям в твоём коде.

Старый 01.03.2011, 19:51
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 32  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
~= != ==
И там же написано, что такие вещи не должны в идеале быть хардкод, это должно строится исходя из каких-то данных не зависящих от логики.
__________________
Hell is the possibility of sanity

Старый 01.03.2011, 20:05
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 33  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Я в Java switch поменял на многократную перезагрузку единственного метода.

Старый 01.03.2011, 20:17
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 34  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,601
Записей в блоге: 17
Цитата:
Сообщение от wvxvw Посмотреть сообщение
~= != ==
И там же написано, что такие вещи не должны в идеале быть хардкод, это должно строится исходя из каких-то данных не зависящих от логики.
Ну хорошо-хорошо. Уберём хардкод и вместо
Код AS3:
this._chatBubble.state2
просто запихнем цифру 2, т.е. уберём стейты. После в setTailPosition возьмем нужную цифру, исходя из seat.
По мне мы убрали лишнюю сущность State (точнее, несколько их), не добавив хардкодинга.
Я понимаю, о чем ты, но по моему конкретно в этом случае это вещь в себе. "Клёвый подход, потому что он... клёвый!".

Старый 01.03.2011, 21:59
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 35  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
GoFы все давно порешали. Посмотрите великолепные примеры применения их шаблона State.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 02.03.2011, 00:19
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 36  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Не, хардкод - это другое. Но для того, чтобы "поправить" то, как сейчас сделано надо знать больше о том, что вообще этот класс делает. Имелось в виду, что данные, но не только данные, а еще и "объяснение" хранятся отдельно от логики этого класса. А уж если мы найдем способ хорошо представить данные (с чего вообще и нужно начинать работу над любой программой), тогда у нас и не будет необходимости в этой функции - мы построим таблицу переходов по стейтам исходя из полученой информации а не "просто так".
Т.е. перед написанием кода, ну это как бы логично... нужно понять для себя что давать этому участку, и что ему не нужно, и как это подготовить. Ну вот, например, передается maxPlayers:int, а на самом деле нужен isSmallRoom:Boolean или что-то в этом духе - т.как от того, будет ли оно 1, 2, 3, или 42 ничего не изменится. Соответственно, возможно, что если информация по посадочным местам была изначально подготовлена вроде:
Код:
<seats>
<smallRoom>1,2,3...1000<smallRoom>
<largeRoom>1,2,3...1000<largeRoom>
</seats>
и передана в таком виде класс, то задача построения таблицы упростилась бы до 1-2 строчек и была бы понятна читающему, настраиваема и т.д.
__________________
Hell is the possibility of sanity

Старый 02.03.2011, 00:27
terbooter вне форума Посмотреть профиль Отправить личное сообщение для terbooter Найти все сообщения от terbooter
  № 37  
Ответить с цитированием
terbooter

Регистрация: Oct 2006
Адрес: Novosibirsk-Kaliningrad
Сообщений: 1,278
Отправить сообщение для terbooter с помощью ICQ Отправить сообщение для terbooter с помощью Skype™
wvxvw, ты крут.
Кстати, как я понял у вас в основном для сборки используется ant.
Не делали с его помощью автогенерацию классов по файлам настроек?

Добавлено через 42 секунды
etc, а это как?

Старый 02.03.2011, 00:40
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 38  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,601
Записей в блоге: 17
@wvxvw, ну да, прав. Спасибо за консультации.

Старый 02.03.2011, 02:45
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 39  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Только какую-то мелочь, типа для тестовых версий, чтобы в контекстном меню показывал номер версии, или если условно-условная компиляция mxmlc оказывается недостаточно сообразительной, тогда приходится делать финты ушами с предварительными заменами антом. А вообще ант - далеко не идеальный инструмент для генерации... хотя идея такая есть давно - не понятно на чем реализовать
__________________
Hell is the possibility of sanity

Старый 02.03.2011, 08:56
terbooter вне форума Посмотреть профиль Отправить личное сообщение для terbooter Найти все сообщения от terbooter
  № 40  
Ответить с цитированием
terbooter

Регистрация: Oct 2006
Адрес: Novosibirsk-Kaliningrad
Сообщений: 1,278
Отправить сообщение для terbooter с помощью ICQ Отправить сообщение для terbooter с помощью Skype™
rake+sprout. Справляются идеально. Генерит, компилит, деплоит.
Единственный минус (для меня), что на ruby

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

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

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


 


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


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