-
Notifications
You must be signed in to change notification settings - Fork 166
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
Replace "property bags" in polaris-management-service.yml
with specific attributes
#555
Comments
There's a liberal use of the "bug" label for things that are personal preferences or, at best, generally good guidelines. We should stop using "bug" for things that aren't actually broken. |
We can argue here whether it's an improvement or a bug. However, I definitely tend towards this being a bug, because the use of these property bags makes it extremely hard to distinguish which properties can be updated, whether changes are valid/authorized - a proper type model makes the meaning of the attributes clear for users and implementations. |
By that logic, any software written in an untyped language would be considered a bug. I also think extension points are necessary and it's hard to account for all possible property types. An explicit choice about where to add extension points isn't a bug. It's certainly open for debate. I'm happy to collaborate on improvement proposals. But it's not a bug |
That's good to hear. I'm not opposed of having extension points. But the fundamental and well defined things should really be typed components. (Unrelated PS: I'm definitely not a fan of untyped languages - type related hidden and hard to detect bugs are a natural consequence of these langauges) |
I'm generally in agreement, but it's what I consider a "religious" discussion. I don't try to convert Baptists into Methodists and I generally stay away from "typed vs untyped" discussions. I care more about software quality and delivering value to users than I do about whether bugs are caught by the compiler or the tests. |
That's exactly the point of this issue. I think we're in agreement that proper typing is a big step towards better software quality. |
From my POV this is not about java classes as types per se, but about using well-defined forms of configuration. Untyped languages can support that too (also, one can write object-oriented code in C ;) ) This is the point I also brought in #724 (comment) |
Yeah I hate untyped languages as well. My understanding is that generally the All the Is this suggestion in this issue to simply get rid of |
I don't think we can get rid of the I removed the |
Describe the bug
Most components in
polaris-management-service.yml
only have a generic property bag, but the valid keys/values are neither defined nor described anywhere.Property bags are rather error-prone and can be accidentally/intentionally misused in many ways. A public facing API should define all attributes as specific properties with the correct types, including validation rules, descriptions and examples.
The text was updated successfully, but these errors were encountered: