Was looking through some code today, and found something that highlights my biggest struggles in programming, it’s compound words and casing. Had identifiers such as…

strikeThroughOffset
whitespaceWidth
lineSpacing
underlineOffset
outlineThickness

I can keep in mind “strike through off set”, but then I struggle to remember, is it strikethrough or strikeThrough? What about Offset or OffSet? Why are offset, underline, and outline, all one word, but strikeThrough isn’t? I think of it as one compound word, many people apparently do, but I guess someone who wrote this code doesn’t.

Or… is this just a me problem? Does anyone else struggle with this sort of thing? Am I missing something or should I “just get good”? My best solution so far is just keep everything always lowercase, personally I find that more readable and memorable, but that’s a lot to ask of literally every other programmer in the world…

  • nickwitha_k (he/him)
    link
    English
    19
    edit-2
    1 year ago

    I’d take the approach of “flattening” compound words and joining them with the preferred style for the given language. Take your first one, for example:

    strike-through off-set -> strikethrough offset

    Python (snake_case): strikethrough_offset

    Go (camelCase): strikethroughOffset

    Rust type (UpperCamelCase): StrikethroughOffset … etc