Method effects description confusing when double negatives are used
Closed this issue ยท 4 comments
Great job on this package!
If I can make a suggestion, here's a screenshot you shared on Slack:
When consistent
has a X
next to it, I can mentally parse it as not consistent
- consistent - might not return or terminate consistently
- terminates - guaranteed to always terminate
Should it should be the same for no undefined behaviour
? When there's a X
next to no undefined behaviour
, I'm reading this as no no undefined behaviour
.
- no undefined behaviour - may execute undefined behaviour
Is there alternative naming that would help? Maybe safe
instead of no undefined
? It would read like so:
- safe behaviour - may execute undefined behaviour
I believe you are choosing the property name to always remain the same across different invocations of this function, and checkbox and the description change based on the value of the property. Is there a way to make that more obvious? Perhaps the checkbox and description should be closer to each other? The checkbox in the middle of the property and the description? Color the description the same as the checkbox but leave the property names gray in color? fwiw, red and green are not so great for people with red green color blindness.
I like that you've chosen formatting and colors that are copy paste friendly, and would like to preserve that feature. I'm just wondering about more effective ways to communicate the same information.
Thanks for the complements, and the issue!
Yea, I can absolutely see how this is confusing. I think it can be pinned on the mix of these two things:
- Using green for good and red for bad
- Modelling the effect names after the
Core.Compiler.Effects
properties
So this issues is essentially a conflict between two things:
- Making the effect display match
Core.Compiler.Effects
- Making the effect display intuitive to interpret
I'm not sure how this should best be resolved.
Just one note that I missed when initially reading this:
fwiw, red and green are not so great for people with red green color blindness.
I'm well aware ๐
That's why we use StyledStrings
and semantic face names ๐
# ~/.julia/config/faces.toml
success = { fg = "blue" }
warning = { fg = "cyan", italic = true }
error = { fg = "magenta" }
and you'll get
I'll close this issue as this is intentional design.
Well, I'd say the colouring is "no need to fix", and the wording/layout is done in an attempt to match the Core.Compiler.Effects
property names, but I'm very much open to tweaking the wording/layout if I can make it clearer while keeping the property name matching ๐