drbenvincent / darc_toolbox

Run adaptive decision making experiments
MIT License
16 stars 2 forks source link

Refactor Designs #36

Closed drbenvincent closed 5 years ago

drbenvincent commented 5 years ago

At the moment we have just the one class DARCDesign and we are relying on using that for all our design space needs (ie delayed, delayed magnitude effect, risky, delayed and risky). In a way this is good because we just have a single class and call it with our desired options. But it's not so good in that:

  1. it's making demands on the user in terms of calling DARCDesign with the right magical set of arguments.
  2. it's leading to a lot of logic and conditional execution depending on whether we are dealing with delay magnitude effects (multiple RB values) or not.

Solutions ideas:

WAIT UNTIL #32 IS RESOLVED THEN REVISIT THIS (EDIT: no, do it).

We now have some alternate constructors, so it is easy to ask for BAD design generators using delayed or risky and delayed and risky designs etc. It just means you don't have to specify all the design variables manually and it uses the defaults set in these alternate constructors.