-
Notifications
You must be signed in to change notification settings - Fork 587
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Teacher tool: added two simple variable validator rules #9859
Conversation
…erk-variable-validation
{ | ||
"validator": "blocksExist", | ||
"blockCounts": { | ||
"variables_set": 1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We may want to add an additional check here for variables_change, which will also work as a set in some cases (but keep threshold as 1).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would prefer to keep that as a separate check and wait for feedback on it. It makes sense that we assign a variable a value when the variable is created so there are less errors. However, allowing a variables_change
to act as a setter in a validation scenario feels like a dangerous thing to allow. The act of distinctively setting a variable value is a pretty important learning point for computer science.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can add a validator for variables_change
, too, though.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm, I don't think we need to add a whole separate validator for it. Feel free to leave as-is for now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Validating that the program changes the value of a variable is actually non-trivial, since both "change" or "set" could do it, but "set" would have to be called twice on the same variable to achieve the intuitive result, which might be tricky to check. I'd only go down that rabbit hole if we get feedback asking for it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds good. I'll leave as is, then. Will definitely want to revisit the "variable changed" validation in the future.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One nit and one suggestion, but LGTM on the whole!
Co-authored-by: Thomas Sparks <[email protected]>
I added these just really quick to have a quick validator for variables_set and variables_get, as a variable validator will be important for rubrics for tutorials. I think they might need to be a bit more nuanced than this, but it's a start.