Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Разница между "obj['s']" = и "obj.s =" (http://www.flasher.ru/forum/showthread.php?t=159067)

udaaff 28.06.2011 18:55

В коде еще есть цифры и строки, и живут же без new как-то. Если есть литерал, то пользуемся литералом.

gloomyBrain 28.06.2011 18:59

Цифры и строки не предполагают конструктора, ибо они - значения.

Crazy 28.06.2011 18:59

Цитата:

Сообщение от etc (Сообщение 1007122)
Нужды нет, просто лично я не считаю в отличие от вас адобовский стайлгайд незыблемой библией. Я не считаю хорошим тоном создавать объекты разным способом, если в этом нет реальной необходимости.

Вы, собственно, как раз и предлагаете выполнять одну операцию -- создание экземпляра класса Object -- двумя разными способами. Это много хуже, чем разрешить себе выполнять создание уникального объекта особого рода особым способом. Тем более, что в язык специально для этого добавлена соответствующая языковая конструкция.

Цитата:

И это не единственный спорный пункт из этого гайдлайна
А что, в природе есть гайдлайны, которые всех во всем устраивают? Никогда о таком не слышал.

Цитата:

который, кстати, конкретно предназначен для писанины под Flex
Это что-то меняет? (мне, кстати, понравилось выбранное Вами слово. Типа "эти плебеи... со своей писаниной на Flex... ах, как это ужасно, герцогиня!")

Цитата:

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

Разумеется, следовать своему примеру не заставляю. Со временем само придет. Может быть.

Добавлено через 1 минуту
Цитата:

Сообщение от gloomyBrain (Сообщение 1007131)
Цифры и строки не предполагают конструктора, ибо они - значения.

Они, как точно выразился udaaff, ЛИТЕРАЛЫ. Как и "{}". В Java, к примеру, числа вполне себе имеют конструкторы. :)

incoob 28.06.2011 19:06

Код AS3:

new Number(5);
new String("qq");

Цифры и строки? Конструкторы?

gloomyBrain 28.06.2011 19:09

Цитата:

В Java, к примеру, числа вполне себе имеют конструкторы
В Java, к примеру, есть int и есть Integer, и это разные вещи. Первое - значение, второе - обертка над значением.

etc 28.06.2011 19:12

Цитата:

Сообщение от Crazy (Сообщение 1007132)
Вы, собственно, как раз и предлагаете выполнять одну операцию -- создание экземпляра класса Object -- двумя разными способами. Это много хуже, чем разрешить себе выполнять создание уникального объекта особого рода особым способом. Тем более, что в язык специально для этого добавлена соответствующая языковая конструкция.

Я не считаю Object уникальным объектом, чтобы ради него использовать иную конструкцию для создания. Тем не менее, я допускаю его использование там, где читаемость кода стоит на втором месте после скорости. И только. Литералы при таком использовании однозначно дают понять, что перед нами критически важный участок, а не *****код.

з. Ы. Я надеюсь, вы также переносите открывающую фигурную скобку, по конвенции Адоби.

alatar 28.06.2011 19:18

Цитата:

Сообщение от gloomyBrain (Сообщение 1007137)
В Java, к примеру, есть int и есть Integer, и это разные вещи. Первое - значение, второе - обертка над значением.

Java и AS3, все таки, две большие разницы. В AS3 и числа и строки это объекты (хоть и специальные), со своими методами. Вполне можно написать.
Код AS3:

5.toString();


etc 28.06.2011 19:20

Цитата:

Сообщение от alatar (Сообщение 1007141)
Java и AS3, все таки, две большие разницы. В AS3 и числа и строки это объекты (хоть и специальные), со своими методами. Вполне можно написать.
Код AS3:

5.toString();


Да и в Java можно, приведя к соответствующему типу.

alatar 28.06.2011 19:20

Цитата:

з. Ы. Я надеюсь, вы также переносите открывающую фигурную скобку, по конвенции Адоби.
Холивар внутри холивара?

Crazy 28.06.2011 19:20

Цитата:

Сообщение от gloomyBrain (Сообщение 1007137)
В Java, к примеру, есть int и есть Integer, и это разные вещи. Первое - значение, второе - обертка над значением.

Коллега, Вы несколько неортодоксально трактуете термин "значение". В Java и то, и другое -- значение. Но значения примитивного и объектного типов. Кстати, 10 -- это вовсе не значение примитивного типа. Это литерал, который интересен только компилятору. Для проверки можете посмотреть, какой байткод формируется для этой конструкции:

Код:

Integer foo = 10;


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

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