Выделить из Schema общий функционал, который нужен вложенным схемам и реализовать в отедьном классе, либо в типе schema #404
georgolden
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
У класса Schema есть методы, которые используются только на корневом уровне и не имеют смысла на вложенном уровне.
Перечень не используемых методов:
metaschema/lib/schema.js
Line 111 in cb40177
metaschema/lib/schema.js
Line 117 in cb40177
metaschema/lib/schema.js
Line 132 in cb40177
metaschema/lib/schema.js
Line 150 in cb40177
metaschema/lib/schema.js
Line 188 in cb40177
metaschema/lib/schema.js
Line 210 in cb40177
metaschema/lib/schema.js
Line 214 in cb40177
Все что используют вложенные схемы имеет смысл выделить в отдельную абстракцию. По сути это может быть трактовано как репрезентация схемы как типа непосредственно. А корневая схема содержит в себе больше функционала и это нормально.
Поля в схеме представляют собой дерево, в котором можно спокойно сохранять ссылку на рута, такое решение не нарушит логики схем.
Количество кода и сложность библиотеки уменьшиться на порядок.
Возможно стоит переназвать часть схемы которая переиспользуется всеми вложенными схемами, чтобы не было путаницы. Тогда нужен вариант имени хороши.
Идея следует из того что я изложил и перекликается с пунктом
[ ] Defile schema for schemas (metaschema)
в этом ишусе #262@tshemsedinov если все еще не понятно, то тогда нужно обсудить на созвоне.
Beta Was this translation helpful? Give feedback.
All reactions