Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   [Паттерны] const в теле метода (http://www.flasher.ru/forum/showthread.php?t=204943)

ShockWave512 14.11.2013 22:39

const в теле метода
 
В Feathers фреймворке уже который раз натыкаюсь на const внутри функции, причем это не именно числовая константа или текст, получается эдакая ссылка на объект только для чтения.
Какие то еще плюсы от этого? Почему простой var хуже? Простая подстраховка? Поля у объекта все равно доступны для записи.
пример тут (метод в конце) - https://github.com/joshtynjala/feath...GroupScreen.as

Dukobpa3 14.11.2013 22:41

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

gloomyBrain 14.11.2013 23:39

Цитата:

Константа шустрее работает после компиляции из-за оптимизации байткода.
А не затруднит поделиться чтивом на эту тему? Было бы интересно посмотреть что и как происходит для const.

Dukobpa3 14.11.2013 23:48

Да я не заморачивался на эту тему.
Это СлаваРа ковырялся и ПсихоТайгер вроде. Пусть делятся))

Добавлено через 34 секунды
Если знаете как работает inline - то вот константа аналогичную структуру имеет.

Akopalipsis 15.11.2013 00:49

Цитата:

Если знаете как работает inline - то вот константа аналогичную структуру имеет.
Что нужно сделать, чтобы в FD работала inline? Если разьяснение будет длинным, то скажите я тему создам,
а то я не могу не чего найти.

gloomyBrain 15.11.2013 01:01

В каком смысле "работала"? FD же не самостоятельно компилирует код, он для этого использует mxmlc. Если у Вас скачан правильный Flex SDK (тот который с ASC 2.0) и вы указываете правильные параметры для него - то все должно работать. Можно почитать здесь

Akopalipsis 15.11.2013 01:34

gloomyBrain Спасибо! А может, кто нибудь подсказать, где скачать " Flex SDK (тот который с ASC 2.0)", а то я только AIR нахожу.

ShockWave512 15.11.2013 01:36

Akopalipsis - скачать и установить последний FlashDevelop (4.5.0)

Akopalipsis 15.11.2013 03:59

ShockWave512 Спасибо! Ставлю.
Вот я его и поставил, но у меня вопрос - как узнать, работает ли это inline?
Мне раньше показывали, что inline пишут, как модификатор доступа и не работало,
а сейчас, когда показали, как нужно ( в метатегах ), то я не знаю, как проверить его работу.
По тому что, хоть я [Inline] пишу, хоть [вот так], эффект один и тот же. Что я не так делаю?

Dukobpa3 15.11.2013 04:04

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


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

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