AS3: должны ли частные переменные иметь _ - PullRequest
5 голосов
/ 28 ноября 2009

Я думал, что в AS3 теперь добавлены личные способности. Так почему же мне все еще следует вводить закрытые переменные с подчеркиванием?

private var _privVar:String;

Ответы [ 4 ]

10 голосов
/ 29 ноября 2009

Я придерживаюсь общего правила в ActionScript 3 следовать стилю Adobe.

Не используйте подчеркивания для частных переменных, если вы не используете getter или setter . Например:

private var _foo:String;
public function get foo():String
{
    return _foo;
}
public function set foo(value:String):void
{
    _foo = value;
}

Этот пример getter / setter немного бесполезен, так как вы можете просто сделать публичное свойство, которое делает то же самое. Используйте метод получения или установки только тогда, когда вам нужно сделать что-то специальное , когда вы получите или установите свойство. Даже тогда обычно лучше просто создать открытый метод.

Также еще один момент. Лично я не думаю, что это хорошая идея сокращать имена переменных или методов. Поэтому вместо того, чтобы вызывать мою переменную privVar , я бы назвал ее privateVariable . Это особенно верно, если вы используете IDE с автозаполнением / предложением, например FlashBuilder (Flex Builder) или FlashDevelop.

Для получения дополнительной информации ознакомьтесь с Adobe - соглашения по кодированию и лучшие практики .

3 голосов
/ 28 ноября 2009

Вам не нужно. Это то, что способствует удобочитаемости, но отнюдь не обязательно. Полностью личное предпочтение.

0 голосов
/ 06 января 2012

Я думаю, что вы не должны сокращать переменные. это повышает удобочитаемость и автоматическое завершение. С другой стороны, в моей практике нецелесообразно использовать встроенные методы получения и установки AS с синтаксисом function set someVar ( value ) : void. Это сильно ужесточает рефакторинг, потому что когда происходит много времени, просто не зная, что некоторая переменная является установщиком или получателем.

В тех местах, где я работал, мы использовали соглашение о доступе к свойствам Java Beans, например function setSomeVar ( value ) : void. Конечно, поскольку в сообществе AS это не распространено, такие IDE, как FlashDevelop, не поддерживают генерацию таких методов получения и установки.

0 голосов
/ 29 ноября 2009

Использование подчеркивания - это просто соглашение. И я стараюсь избегать их, потому что это портит мой разум. Я привык набирать obj.va и нажимать ctrl-space в flex Builder, чтобы получить obj.variableName - это не очень хорошо работает с _variableName

Кстати, более ранние версии ActionScript требуют, чтобы вы вводили «частные» имена переменных с подчеркиванием?

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