Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Закрытая тема
Старый 11.03.2011, 20:24
Nemez вне форума Посмотреть профиль Отправить личное сообщение для Nemez Найти все сообщения от Nemez
  № 1  
Nemez
 
Аватар для Nemez

Регистрация: Jun 2010
Сообщений: 189
По умолчанию Как корректно назвать гет-функцию

Как корректно назвать гет-функцию, как переменную или выбрать другое имя?

Старый 11.03.2011, 20:40
ps_spectre вне форума Посмотреть профиль Отправить личное сообщение для ps_spectre Найти все сообщения от ps_spectre
  № 2  
ps_spectre
 
Аватар для ps_spectre

блогер
Регистрация: Jan 2010
Адрес: Киев
Сообщений: 156
Записей в блоге: 4
Отправить сообщение для ps_spectre с помощью Skype™
Код AS3:
private var _some:Type;
private var _another:Type;
private var _x:Number;
...
public function get some():Type { ... }
public function get another():Type { ... }
public function get x():Number { ... }
-----
в общих чертах
я называю приватные переменные с подчеркивания.
а свойство -- нормальное имя.
__________________
...


Последний раз редактировалось iNils; 11.03.2011 в 20:47.
Старый 11.03.2011, 20:58
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 3  
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
http://help.adobe.com/ru_RU/ActionSc...8a9b90204-7fcb

Сам адоб не видит необходимости во внутренних переменных с подчеркиванием.

Старый 11.03.2011, 21:01
Jewelz вне форума Посмотреть профиль Отправить личное сообщение для Jewelz Найти все сообщения от Jewelz
  № 4  
Jewelz
 
Аватар для Jewelz

Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
адоб не шарит
__________________
low +

Старый 11.03.2011, 21:05
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 5  
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Это ни о чем не говорит. Для программы это естественно не имеет значения, но чисто визуально, при просмотре кода это удобнее. Видишь подчеркивание, понимаешь, что переменная частная. Чисто для удобства, а не из необходимости. По идее можно вообще все названия классов писать маленькими буквами, писать условные операторы в одну строку, переменные через запятую, ничего не комментировать и т.д. Только какой код будет проще читать человеку?
Цитата:
как переменную или выбрать другое имя?
Ну можно попробовать назвать как переменную Интересно к чему это приведет? Не к ошибке ли?

Я всегда называю всё максимально информативно, чтобы без комментариев потом было понятно, что делает тот или иной кусок кода. И сеттеры / геттеры не исключение

Старый 11.03.2011, 21:12
ps_spectre вне форума Посмотреть профиль Отправить личное сообщение для ps_spectre Найти все сообщения от ps_spectre
  № 6  
ps_spectre
 
Аватар для ps_spectre

блогер
Регистрация: Jan 2010
Адрес: Киев
Сообщений: 156
Записей в блоге: 4
Отправить сообщение для ps_spectre с помощью Skype™
Adobe шарит,)

случайный класс из исходников флекса. (выбранный наугад)

Код AS3:
 
    //----------------------------------
    //  closeOnActivity
    //----------------------------------
 
    /**
     *  @private
     *  Storage for the closeOnActivity property.
     */
    private var _closeOnActivity:Boolean = true;
 
    /**
     *  If <code>true</code>, specifies that the pop-up control closes
     *  on a click or other user activity.
     *  The pop-up control is the control opened by a click on the 
     *  pop-up button.
     * 
     *  <p>For pop-up controls like Menu, List, or TileList,  
     *  you can leave this property with its default value of <code>true</code>
     *  because those controls should close on activity.
     *  However, for multiple selection and other types of pop-up controls,
     *  you can set this property to <code>false</code> to prevent the 
     *  pop-up control from closing on activity.</p>
     *  
     *  @default true 
     */     
    public function get closeOnActivity():Boolean
    {
        return _closeOnActivity;
    }
 
    /**
     *  @private
     */  
    public function set closeOnActivity(value:Boolean):void
    {
        _closeOnActivity = value;
    }
Код AS3:
/**
 *  @private
 *  The backing variable for the property.
 */
private var _someProp:Foo;
 
/**
 *  Place all comments for the property with the getter which is defined first. 
 *  Comments should cover both get and set behavior as appropriate.
 */
public function get someProp():Foo
{
  ...
}
 
/**
 *  @private
 */
public function set someProp(value:Foo):void
{
  ...
}
из раздела as docs.
coding conventions

если приватному полю не надо свойство, тогда подчеркивания можно и не ставить.

Хотя я подчеркнуть хочу, что это дело каждого и дело вкуса. Кому как прет.
Вон в Питоне например это обязательное условие для приватной переменной. (там еще есть два "_" для более "приватной" переменной)
__________________
...

Старый 11.03.2011, 21:13
Jewelz вне форума Посмотреть профиль Отправить личное сообщение для Jewelz Найти все сообщения от Jewelz
  № 7  
Jewelz
 
Аватар для Jewelz

Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
без подчеркивания просто не очень удобно выходит, переменная одно имя имеет, а геттер нужно другой придумывать
удобно: _prop и get prop(), ну или getProp() делать метод, кстати в FD если через контекстное меню делать геттер, то он сам подчеркивание ставит

UPD: действительно шарит
__________________
low +

Старый 11.03.2011, 23:22
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 8  
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Шарит, но до сих пор не научилось проверять текущее значение.

И потом, делать выводы «шарит» или нет, по коду одного из десяти тысяч индусов, как-то странновато на мой взгляд.

Старый 11.03.2011, 23:23
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 9  
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
В C# проще - там геттеры с больших букв называются, а приватные поля - с маленьких (ну в большинстве проектов, прожженые C-шники продолжают и в C# m_ ко всем приватным полям приписывать)
А нам флешерам ничего не остается, как приписать _ или другой дурацкий префикс, ну или переменную другим словом назвать (хотя последнее только запутает)

Цитата:
Сам адоб не видит необходимости во внутренних переменных с подчеркиванием.
На самом деле, если внимательно соглашение по кодированию для flex-фреймворка почитать - там они рекомендуют называть приватные поля с подчёркивания только если они конфликтуют с именами геттеров и сеттреров.

(но в нашей конторе везде пишем - чтобы не париться - будет геттер или не будет)


Последний раз редактировалось expl; 11.03.2011 в 23:28.
Старый 11.03.2011, 23:23
ps_spectre вне форума Посмотреть профиль Отправить личное сообщение для ps_spectre Найти все сообщения от ps_spectre
  № 10  
ps_spectre
 
Аватар для ps_spectre

блогер
Регистрация: Jan 2010
Адрес: Киев
Сообщений: 156
Записей в блоге: 4
Отправить сообщение для ps_spectre с помощью Skype™
etc, да это больше в шутливой форме было то ,)
топик ни о чем же. )
__________________
...

Создать новую тему Закрытая тема Часовой пояс GMT +4, время: 10:39.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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