Войти
ФлеймФорумПрограммирование

Ошибки проектирования в UE4 (2 стр)

Страницы: 1 2 3 4 Следующая »
#15
10:12, 24 окт. 2018

Вот это панк!


#16
10:42, 24 окт. 2018

я ещё ненавижу делигаты

#17
(Правка: 13:04) 13:04, 24 окт. 2018

Это всё ну никак не мешает зарабатывать миллионы долларов в день на фортнайте. Когда твоя игра на твоём движке будет зарабатывать хотя бы десятую от этого - тогда и будет тебе слово.

#18
13:07, 24 окт. 2018

На заработок в большей степени влияет платформа, маркетинг и геймдизайн :)

#19
(Правка: 13:12) 13:10, 24 окт. 2018

alexey.ch
Вот. И это то что важно, а не то что в базовом классе. Люди же и на УНИТИ что то умудряются делать, хотя оно сделано из крысиного помёта, пауков и изоленты.

#20
13:18, 24 окт. 2018
Глубоко копаете. Я на UE4 поставил крест, как увидел, что они переносят { на новую строчку.
#21
13:26, 24 окт. 2018

entryway

меня аж передернуло...
#22
13:41, 24 окт. 2018

Да что с ним не так-то блэт????

#23
13:46, 24 окт. 2018

lookid
> Да что с ним не так-то блэт????

Просто слишком хорош, чтобы быть правдой. 
Не их - вот и бесятся :)

#24
13:55, 24 окт. 2018

Nerdman
> Вот. И это то что важно, а не то что в базовом классе.
Тут явно стоял выбор:
1) Изучить движок.
2) Найти повод не изучать движок.

ТС выбрал второй вариант :)

#25
(Правка: 14:35) 14:22, 24 окт. 2018

lookid
> А что конкретно не так с этим классом?
> Да что с ним не так-то блэт????
Не трудно заметить, что мне не удалось нормально наехать на сам UObjectBase, т.к это вполне может быть нормальная вещь, я надеюсь на это(нет). Не буду обращать внимание на то что от него за версту несёт адовой оптимизаций по рандомному параметру.
А так же на то что именно он испоганил все остальные over 9000 интерфейсов/классов своим в них присутствием. Не буду. Зачем? Всё выглядит так, словно мне удалось успешно наехать на всю иерархию наследования в UE4 в плане сериализации. Этого достаточно.

alexey.ch
> А как ты себе представляешь полиморфизм без виртуального деструктора?
вроде можно держать внешний виртуального деструктор подобно тому как это делает unique_ptr там где нужна передача владения над полиморфом, и тупо класть сам полиморф на стек или в структуру там где передача владения не нужна?

#26
(Правка: 14:58) 14:58, 24 окт. 2018

Adler
> вроде можно держать внешний виртуального деструктор подобно тому как это делает
> unique_ptr там где нужна передача владения над полиморфом, и тупо класть сам
> полиморф на стек или в структуру там где передача владения не нужна?
То есть заменить простой отлаженный механизм, реализованный на уровне стандарта и не требующий твоего вмешательства, на сложный костыль.

Отличная идея.

#27
(Правка: 18:59) 15:53, 24 окт. 2018

alexey.ch
> То есть заменить простой отлаженный механизм, реализованный на уровне стандарта
> и не требующий твоего вмешательства, на сложный костыль.
>
> Отличная идея.
Стандарт устарел, т.к не умеет в рефлекшен/сериализацию и кучу чего ещё. Один фиг одного виртуального деструктора не достаточно, т.к нужен указатель на инфу о типе объекта, чтобы потом по ней найти внешний виртуальный конструктор при загрузке/fork`е. Если тип окажется не нативным для проги, то придётся сначала создать этот конструктор, а потом вызвать его. Иначе не получится на автомате конвертировать объекты из старых версий в новые.

Хранить инфу о типе объекта в сам объект - это ошибка проектирования. Это легко заметить когда нужно сделать сохраняемый объект который должен описывать тип другого объекта. Ты только представь как приятно в этом случаи отличать методы которые относятся к самому объекту от методов которые относятся к тому чем этот объект занимается. А также как приятно придумать названия для этих методов, а потом запоминать их и никогда не путаться. Это просто сказка.

Если что - то я не смог придумать названий и просто решил больше никогда не хранить инфу о типе внутри объекта. В этом очень много выгоды. Это правильный дизайн.

#28
(Правка: 15:56) 15:54, 24 окт. 2018

alexey.ch
Зато представь сколько таковых костылей можно писать! Это жу упрограммироваться и не встать.
Adler
В гамаке и стоя, ок.

#29
(Правка: 21:15) 21:04, 24 окт. 2018

Adler
> А для разработчиков/пользователей и самого дизайна движка - это фатальная
> ошибка. Я серьёзно, ему не выжить
Не фатальная. В архитектуру UE плюются все, кто его ковырял, но его популярность все-равно растет. Грамотно написанной альтернативы все-равно нет, так что хрен с ней архитектурой и с кодестайлом и откровенным идиотизмом.

> Есть ли в UE4, хоть что-то что умеет работать отдельно от него и при этом достойно внимания?
Не припомню в нем ни одного раздела, который было бы не за что критиковать. И все оно написано так, что хрен ты чего без геморроя выдернешь.


entryway
> Я на UE4 поставил крест, как увидел, что они переносят { на новую строчку.

А вот это уже не по делу критика, а холивар о вкусах. Лично я наоборот считаю не оформленные скобки омерзительным говнокодом, это затрудняет восприятие.

Страницы: 1 2 3 4 Следующая »
ФлеймФорумПрограммирование