![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Что лучше использовать для простых утилитных функций(например для trim(s:string):string), как думаете? Глобальные функции или статические методы?
Добавлено через 1 минуту Я как то всегда был уверен, что правильно делать методы, пока не натолкнулся на библиотеку: https://github.com/as3/as3-utils И тут мне в голову закрались сомнения...
__________________
Искренне Ваш, Джек. |
|
|||||
|
Регистрация: Jun 2006
Сообщений: 400
|
Я, кстати, не знал про глобальные функции. Мельком глянул доку. Получается один файл - одна функция? Много функций, типа модуля, нельзя никак?
|
|
|||||
|
Походу вроде нелья(я пробовал - не получилось)... Хотя если нажать F4 во FlashDevelop например на функции getTimer(), открывается файл со всеми функциями из Package-а... Но наверное это ничего не значит.
__________________
Искренне Ваш, Джек. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Я обычно по смыслу смотрю. Если предполагается один метод, то нет смысла городить класс-хранитель. Но если это именно набор утилит, то может и есть смысл в этаком "швейцарском ноже". Однако опять же, если в проекте будет использоваться один метод из 20, наверное лучше вынести его в глобальную функцию и не импортить мертвый груз. Тут, как всегда, главное знать меру.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
Дело хозяйское + здравый смысл.
|
|
|||||
|
Math.cos правильнее, чем cos.*
getTimer правильнее, чем Date.getTimer()* *По версии Adobe.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Регистрация: Mar 2010
Сообщений: 137
|
Лучше статический класс. От него если что можно наследовать.
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
trim должен быть статическим методом StringUtils.
|
|
|||||
|
Вопрос стоял не конкретно в trim-е... А в целом...
А вот к примеру почему getTimer() - не метод а функция? Ну или getDefinitionByName? Скажем, а как должна быть реализована функция fitToRect(obj isplayObject,rect:Rectangle) - которая пропорционально скалит объект под заданный прямоугольник?(собственно при написании этой функции вопрос меня этот и посетил. К слову сказать, я таки сделал класс со статическим методом....)
__________________
Искренне Ваш, Джек. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
В DisplayObjectUtils. Отдельно она может существовать только тогда, когда конкретика или похожие функции отсутствуют. Например, getDefinitionByName, работающий глобально, «соседей» не имеет. getTimer также не оперирует с какими-либо объектами, вещь в себе. Посему trim и fitToRect, работающие с конкретными объектами, должны быть статическими свойствами класса.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 23:52. |
|
|
« Предыдущая тема | Следующая тема » |
|
|