-
Notifications
You must be signed in to change notification settings - Fork 163
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
Inheritance Principle: Advise against overloading #1834
base: master
Are you sure you want to change the base?
Inheritance Principle: Advise against overloading #1834
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #1834 +/- ##
=======================================
Coverage 88.04% 88.04%
=======================================
Files 16 16
Lines 1380 1380
=======================================
Hits 1215 1215
Misses 165 165 ☔ View full report in Codecov by Sentry. |
Seems reasonable to me. If there's consensus here, it would be ideal to raise a validator warning and to provide a tool to remove overrides from datasets automatically, with validation being the more important. |
Good idea; added to my list. |
Tagging as needs implementation. Recommendations without validator warnings will have essentially no impact. |
I created bids-standard/bids-validator#117 to track implementation. I think this would be a good first issue for a new contributor to the validator. |
Re-commit of b7a3ab6 that was rejected as a late addition to #1807; re-posting here for separate review as suggested.
I've become progressively convinced that the ability to overload metadata fields via Inheritance is a major source of the disparity in opinions about the Inheritance Principle. Regardless of whether you like or hate it, where I think there should be consensus is that overloading should not be intentionally used, even if BIDS 1.x explicitly permits it and it was used as one of the key demonstrative examples.
The proposed change hopefully also helps to contextualise why the subsequent text is a complex but necessary set of rules.