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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 18.03.2015, 21:13
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 11  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Не обязательно вообще должен быть геттер для этого. Речь то не об этом, а о
Цитата:
Если это акцессоры, то очень фигово называются.
Я лишь говорю, что названия вполне нормальны. Лично я даже считаю, что так лучше. Вот если бы там было вместо getHealth() что-то типа ret_h(), то это было бы хренью. А интуитивно понятные названия методов, пусть даже не использующих as3'шные get / set, все равно не плохи.
Многие движки используют именно такой способ написания. В IDE можно просто написать .set и посмотреть весь список сеттеров, доступных для объекта. А попробуй сделать то же самое с get blabla / set blabla

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

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от caseyryan Посмотреть сообщение
Чем фигово? Тем, что написаны не по стандартам as3?
В ас3 геттеры / сеттеры не идеальны. Они хороши, если надо в сеттере передать всего один параметр. А если больше? Не всегда удобно
Все проще

getHealth() -- акцессор

Код AS3:
// читаем
var health:Number = x.getHealth;
 
// пишем
x.getHealth = 100;
vs.
Код AS3:
// читаем
var health:Number = x.health;
 
// пишем
x.health = 100;
Не думаю, что getHealth — это удачное название.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 20.03.2015, 07:46
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 13  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
Не думаю, что getHealth — это удачное название.
А если свойств у объекта много, и называния не так просты как health?
Я уже говорил об этом выше
Цитата:
В IDE можно просто написать .set и посмотреть весь список сеттеров, доступных для объекта. А попробуй сделать то же самое с get blabla / set blabla
Плюс, в случае с health - это может быть только геттер или только сеттер. И если свойство только для чтения, то health = 50; кинет ран тайм эксепшен. А в случае с getHealth() / setHealth(value:int) сразу понятно чего ожидать

Старый 20.03.2015, 09:51
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 14  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
До рантайма не дойдет, я думаю. Свалится в компайлтайме. Я, пожалуй, все сказал, что хотел донести об акцессорах.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 20.03.2015, 21:17
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 15  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,922
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
dimarik, посмеялся

Вот, что имелось в виду с:
Код AS3:
// читаем
var health:Number = x.getHealth();
 
// пишем
x.setHealth(100);
vs
Код AS3:
// читаем
var health:Number = x.health;
 
// пишем
x.health = 100;
P.S. В первом случае setHealth(100) выглядит даже красивей как-то
__________________
There is no thing in this world that is not simple.


Последний раз редактировалось ZackMercury; 20.03.2015 в 21:30.
Старый 20.03.2015, 23:12
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 16  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Кто-нибудь, кроме dimarik, читал название темы? Сколько можно жевать про "getHealth прекрасно подходит для названия функции"? Речь о геттерах/сеттерах и их названиях. Они уродливы. Глаголы должны быть в названиях функций. Названия свойств должны быть существительными или прилагательными в случае Boolean.
К слову о конвенциях, аргумент сеттера принято [всегда] называть "value", а сам сеттер/геттер [по возможности] так же, как приватную переменную-хранилище. Названия типа get_set_getHealth (new_Health:int) невероятно уродливы.
__________________
Reality.getBounds(this);

Старый 21.03.2015, 09:36
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 17  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
Названия типа get_set_getHealth (new_Health:int) невероятно уродливы.
Ну это да. Тут об этом и спора не было)
Спор был о getHealth() / setHealth(value:int)

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

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

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


 


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


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