Skip to content
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

Allow presenting change ids in readable mixed case #2778

Closed
wants to merge 3 commits into from

Conversation

ilyagr
Copy link
Contributor

@ilyagr ilyagr commented Jan 5, 2024

The idea is that you could put change_id.readable() in you commit template.

The concept of "readable case" focuses on the k-z part of the alphabet that's used for change ids. The
normal hexadecimal alphabet 0-9a-f doesn't have many confusable letters, except
perhaps b and d.

Here is what it looks like for me at the moment (my ids are also shorter than normal, 6 chars instead of 8):

image

Backstory and design

This is the third attempt at making change ids readable at a glance. Previously,
I was suggesting printing them in uppercase (which I use in my personal config,
but several people disliked the idea since they perceive UPPERCASE as yelling)
or printing half the alphabet in uppercase.

Since then, I found that uppercase doesn't solve all of my issues either, as
it's quite easy to confuse OQ or UV when reading quickly.

So, I now have a variation of the second idea where I carefully pick which
letters to capitalize. See comments and test in the commit for examples.

Checklist

If applicable:

  • I have updated CHANGELOG.md
  • I have updated the documentation (README.md, docs/, demos/)
  • I have updated the config schema (cli/src/config-schema.json)
  • I have added tests to cover my changes

@ilyagr ilyagr changed the title Readable Allow presenting change ids in readable mixed case Jan 5, 2024
@ilyagr ilyagr force-pushed the readable branch 4 times, most recently from 105642b to 51a1d16 Compare January 7, 2024 23:17
This adds a `readable_case` function and some tests to give examples.

This focuses on the `k-z` part of the alphabet that's used for change ids. The
normal hexadecimal alphabet 0-9a-f doesn't have many confusable letters, except
perhaps `b` and `d`.

## Backstory and design

This is the third attempt at making change ids readable at a glance. Previously,
I was suggesting printing them in uppercase (which I use in my personal config,
but several people disliked the idea since they perceive UPPERCASE as yelling)
or printing half the alphabet in uppercase.

Since then, I found that uppercase doesn't solve all of my issues either, as
it's quite easy to confuse `OQ` or `UV` when reading quickly.

So, I now have a variation of the second idea where I carefully pick which
letters to capitalize. See comments and test in the commit for examples.
…ble, undo to_upper change

At the moment, I don't plan to make it the default, though I might try to do it
if enough people like this.
@ilyagr
Copy link
Contributor Author

ilyagr commented Jan 24, 2024

I think I'll close this for now. I've tried using lowercase ids again (as is the default), and the difference between "readable case" and lowercase doesn't seem compelling enough to be worth the time it will take people to get used to mixed case and understand it.

For reference, I did come up with some artificial examples on Discord where readable case is much better than lowercase. However, I now think they do not show up often enough in practice to be worth moving to "readable case". If my opinion changes, I might reopen this.

@ilyagr ilyagr closed this Jan 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant