electorama / abif

The _Aggregated Ballot Information Format_ provides a concise, aggregated, text-based document to describe the ballots cast in range-based or ranked elections, as well as approval-based and choose-one balloting systems.
Other
4 stars 1 forks source link

Case Sensitivity #26

Open brainbuz opened 2 years ago

brainbuz commented 2 years ago

The issue has been mentioned a few other places.

What will the ABIF rules on case sensitivity be.

My preference is that Full Name Tokens be case sensitive. For everything else I would prefer either everything be case sensitive or everything be case insensitive.

I think conventions are good such as bare tokens should be upper cased and metadata keys should use javascript camelCase, but style linting should be optional.

robla commented 2 years ago

My preference is that barename tokens are case sensitive. That makes it marginally harder for English-language speakers to create the tokens (since "A" and "a" could be different candidates), and it makes it possible to create unreadable files (since "Mcharold" and "McHarold" would be different candidates), but it makes it easier on programmers to have consistent rules.

simberaj commented 2 years ago

I would opt for case sensitivity everywhere.

robla commented 2 years ago

@simberaj wrote:

I would opt for case sensitivity everywhere.

I agree that barename tokens need to be case sensitive. Since barename tokens need to be case sensitive, it seems that (for strict compliance) everything needs to be case sensitive. That said,it seems thaif someone puts "@CHOICES" instead of "@choices" in a document, I think it should be fine for implementations to be forgiving.

I'm going to have to spend some time refamiliarizing myself with the ABIF spec, though. I accepted @brainbuz changes without too much scrutiny, but it seems that there are some things that made it into the prose of the specification that would be difficult to express in EBNF.