Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Общие темы > Болтовня

Болтовня Разговоры на любые темы (думайте, о чем пишите)

Результаты опроса: какой вариант лучше
1 1 5.56%
2 14 77.78%
все плохи 0 0%
нет разницы 3 16.67%
Голосовавшие: 18. Вы ещё не голосовали в этом опросе

Ответ
 
Опции темы
Старый 21.06.2011, 02:12   #1
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
какой синтаксис лучше

ent->Position(some_vec);
vec3 vec = ent->Position();

ent->SetPosition(some_vec);
vec3 vec = ent->GetPosition();
(Offline)
 
Ответить с цитированием
Старый 21.06.2011, 02:19   #2
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: какой синтаксис лучше

второй имхо понятнее
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
NitE (22.06.2011)
Старый 21.06.2011, 03:35   #3
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: какой синтаксис лучше

Второй понятнее, но если не отталкиваться от старых "байсик идеологий", то я бы выбрал первый.

Но, есть ли аналог Accessor'ов в С++?

Было бы намного круче:
ent->Position = some_vec;
ent->Position->X = 1024;
vec3 vec = ent->Position;
(Offline)
 
Ответить с цитированием
Старый 21.06.2011, 06:47   #4
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,358
Написано 2,472 полезных сообщений
(для 6,854 пользователей)
Ответ: какой синтаксис лучше

Сообщение от MoKa Посмотреть сообщение
Второй понятнее, но если не отталкиваться от старых "байсик идеологий", то я бы выбрал первый.

Но, есть ли аналог Accessor'ов в С++?

Было бы намного круче:
ent->Position = some_vec;
ent->Position->X = 1024;
vec3 vec = ent->Position;
Довольно удобно:
ent->Position = new vec3(1,2,3)
ent->Position->x++;
ent->Positon->y--;
ent2->Position = ent->Position;
(Online)
 
Ответить с цитированием
Старый 21.06.2011, 07:14   #5
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: какой синтаксис лучше

Довольно удобно:
к сожалению не вижу способа реализации. надо считать матрицу трансформации. если дать пользователю напрямую редактировать позицию - то я несмогу в плюсах отловить факт редактирования. Ето же не шарп с аццесорами.

ent2->Postion(ent); - так можно будет
ну или ent2->SetPosition(ent); - если не решусь убрать Get-Set
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Randomize (21.06.2011)
Старый 21.06.2011, 11:39   #6
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,358
Написано 2,472 полезных сообщений
(для 6,854 пользователей)
Ответ: какой синтаксис лучше

Лучше без Get/Set тогда.
А если не секрет, как правильно определять в таком типе ф-ции заносит пользователь данные или просто хочет получить?

Вот к примеру псевдокод:
class foo{
   float x;
  
   float bar(float x_ = ???){
      // Вот как проверить заносит ли пользователь данные?
      // Если делать пр-ку на определённое число то это костыль
      return x;
  }
}
(Online)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Randomize за это полезное сообщение:
Dzirt (21.06.2011), moka (21.06.2011)
Старый 21.06.2011, 13:18   #7
baton4ik
Дэвелопер
 
Аватар для baton4ik
 
Регистрация: 21.11.2009
Адрес: Киев
Сообщений: 1,699
Написано 657 полезных сообщений
(для 1,962 пользователей)
Ответ: какой синтаксис лучше

Перегрузка?
(Offline)
 
Ответить с цитированием
Старый 21.06.2011, 14:13   #8
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: какой синтаксис лучше

А если не секрет, как правильно определять в таком типе ф-ции заносит пользователь данные или просто хочет получить?
просто создаёшь две функции Position, одна с параметрами, другая без.

имхо это неудобно, т.к. пройдёт пара лет, ты откроешь свой код (или его откроет кто-нибудь ещё), и задашься вопросом - "Что делает метод Position? ставит или берёт позицию?". Потом до тебя только начнёт доходить что и то и другое. А если явно указано Get и Set, то тут и ежу понятно какой метод что делает.

(Offline)
 
Ответить с цитированием
Эти 6 пользователя(ей) сказали Спасибо Mr_F_ за это полезное сообщение:
Dzirt (21.06.2011), HolyDel (18.02.2012), Hurrit (22.06.2011), impersonalis (21.06.2011), moka (21.06.2011), Taugeshtu (22.06.2011)
Старый 21.06.2011, 19:23   #9
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
Ответ: какой синтаксис лучше

2-ой же !! Set/Get понятней !!
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо IGR за это полезное сообщение:
Dzirt (21.06.2011), Hurrit (22.06.2011), Mr_F_ (21.06.2011)
Старый 22.06.2011, 00:51   #10
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: какой синтаксис лучше

хорошо, что спросил

добавил возврат объекта в сеттерах
теперь можно писать так:
	Entity *turret = s->Add(cube)
		->SetParent(body)
		->SetShader(StandartShaders::Render::OnlyNormals())
		->SetPosition(0,0.0,-1.25)
		->SetScale(0.25)
		->SetBlend(BM_MULTUPLY);

Последний раз редактировалось HolyDel, 22.06.2011 в 02:05.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
moka (22.06.2011)
Старый 22.06.2011, 14:13   #11
.Squid
Дэвелопер
 
Аватар для .Squid
 
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений
(для 4,642 пользователей)
Ответ: какой синтаксис лучше

BM_MULTUPLY
wtf?
__________________

(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо .Squid за это полезное сообщение:
HolyDel (23.06.2011), moka (22.06.2011)
Старый 22.06.2011, 14:31   #12
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: какой синтаксис лучше

Такая "фича", удобна при говнокоде и для быстрой разработке, но на деле, в больших проектах не очень и применяемо..
(Offline)
 
Ответить с цитированием
Старый 22.06.2011, 15:40   #13
.Squid
Дэвелопер
 
Аватар для .Squid
 
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений
(для 4,642 пользователей)
Ответ: какой синтаксис лучше

Нормальная фича, при чем тут говнокод?
__________________

(Offline)
 
Ответить с цитированием
Старый 22.06.2011, 15:45   #14
Morganolla
Бывалый
 
Аватар для Morganolla
 
Регистрация: 03.12.2008
Адрес: наша раша
Сообщений: 762
Написано 129 полезных сообщений
(для 245 пользователей)
Ответ: какой синтаксис лучше

Уверен, что второй способ лучше! Это стандартный подход. Меньше будет головной боли...
__________________
Reality Simulation Games
Core 2 Duo 2,8GHz, RAM 1Gb, ATI R5670 1Gb. WinXP 32
(Offline)
 
Ответить с цитированием
Старый 22.06.2011, 16:11   #15
ANDREYman
Нуждающийся
 
Аватар для ANDREYman
 
Регистрация: 17.12.2010
Адрес: Санкт-Петербург
Сообщений: 87
Написано 55 полезных сообщений
(для 214 пользователей)
Ответ: какой синтаксис лучше

Можно ещё так ))
ent->Position = {3.0, 47.0, 18.0};
ent->Position(3.0, 47.0, 18.0);
ent->Position = ent2;
ent->Position->x(LOCAL) = 1024;
vec3 vec = ent->Position;
vec3 vec = ent->Position(GLOBAL);
Как по мне - пофигу, но лучше без извращений. Что первый, что второй варианты катят.
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо ANDREYman за это полезное сообщение:
HolyDel (23.06.2011), moka (22.06.2011), Randomize (22.06.2011)
Ответ


Опции темы

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

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


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com