Не используйте константы в сущностях

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

Дело в том, что у движка есть одна проблема с наследованием и она «очень глубоко посажена», когда я однажды с ней столкнулся и обсуждал с Максимом, решили не использовать некоторые методики, которые её вызывают, так она и была забыта и в чем её суть детально я не помню, но точно знаю что в лс может дать сбой.

Один из примеров такого сбоя — сделать константу в наследуемую сущность и получать её из другого участка кода до того момента, как в движке появится первый объект такой сущности. Движок через автозагрузку получит такую сущность, а не через метод GetEntity ядра, который должен создать цепочку наследования. В случае автозагрузки сущности не через этот метод в цепочке наследования получается анархия со всеми последствиями.

Поэтому для всех разработчиков такой совет: не используйте константы в сущностях вызываемые из других участков кода (не этих же сушностей), потому что если сущность не была должным образом проинициализирована через метод GetEntity ядра (не задана корректно цепочка наследования), то это может привести к разным проблемам с наследованием сущностей в движке в т.ч. зацикливание сущности саму на себя.

Константам самое место в модулях.
0 комментариев
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.