ActionScript. Какой-нибудь краткий совет, чтобы уменьшить многословность следующего кода? - PullRequest
1 голос
/ 07 октября 2009

Я очень хорошо знаком с JavaScript и теперь впервые играю с Flex. Очевидно, это странное чувство, потому что JavaScript и ActionScript, как говорят здесь, в Юго-Восточной Азии, «одинаковы, но различны». Единственное, что мне достается (как и во всех статических языках), это многословие. Существуют ли какие-то сокращенные приемы, которые могут уменьшить общий код:

    package com.mate.extensions {

        public class HTTPResponse
        {

            public var data:String;     
            public var responseURL:String;
            public var responseHeaders:Array:
            public var status:Number;

            public function HTTPResponse(data:String, responseURL:String, responseHeaders:Array, status:Number):void {
                this.data = data;
                this.responseURL = responseURL;
                this.responseHeaders = responseHeaders;
                this.status = status;
            }
        }

    }

Ответы [ 2 ]

3 голосов
/ 07 октября 2009

Полагаю, дело в том, к чему ты привык; Я пришел на AS3 из Java, и для меня этот код выглядит вполне разумным. :)

Честно говоря, я не думаю, что вы можете существенно сократить это, не получив большого успеха ни в удобочитаемости, ни в функциональности. (Конечно, теперь, когда я сказал это, я с нетерпением жду, чтобы кто-то умнее меня доказал, что я не прав.) На самом деле, это может быть слишком кратко; сделать ваши внутренние поля общедоступными, как правило, считается дурным тоном и приглашением к головным болям в будущем. Хотя одна из замечательных особенностей AS3 заключается в том, что из-за того, как обрабатываются методы получения и установки, вы можете переключаться с открытых полей на частные поля с контролем доступа без необходимости вносить какие-либо изменения в код, использующий этот объект.

1 голос
/ 07 октября 2009

Если вы беспокоитесь о многословности по сравнению со стандартами кодирования, вы можете выбросить весь класс HTTPResponse и заменить его на Object.

var httpResponse:Object = { data: data, responseURL: responseURL, responseHeaders: responseHeaders, status: status };

Но в этом случае вы пропустите проверку типов времени компиляции и кодвозможность повторного использования.

Самое замечательное в ActionScript - это то же самое и другое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...