Replies: 1 comment
-
This proposal was implemented in #67 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Separating "Schema" from "Config"
Problem
Currently, we've got a weird mixing of configuration and documentation in our
Schema
classes.A great example of this is our current "game schemas." These contain both the configuration of feature extractors (what is enabled/disabled, how many levels/quizzes/whatever are in the game, etc.), and the documentation of what events exist for the game. This is particularly egregious because both parts are in the same "schema." A less-severe example would be the way that our old
GameSourceSchema
would contain configuration information (e.g. which table to use), and have a link to aTableSchema
, which effectively just documents/defines the mapping of column names to table columns.Proposed Solution
configs
ModuleThis proposal is effectively just a major renaming effort, with very little in the way of functional changes. We simply need to be explicit about the difference between "configuration" and "documentation."
Essentially, we'll just create a "configs" module, with a
Config
base class that is just a thin wrapper around theSchema
base class.configs
andschemas
Module RestructuringThe classes currently under
schemas
will be reorganized to move config-related schemas out to theconfigs
module. These will all be renamed to have their suffix changed toConfig
, e.g.TableConfig
instead ofTableSchema
.The following submodules should become "configs" instead of "schemas":
configs
(duh)games
:FeatureSchema
,DetectorSchema
, and subclasses;FeatureMapSchema
andDetectorMapSchema
.storage
(containingDataStoreSchema
and similar)tables
:TableSchema
(the new one;TableStructureSchema
can return toTableSchema
, similar for subclasses)Beta Was this translation helpful? Give feedback.
All reactions