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)@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    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

    • nodiet@feddit.de
      link
      fedilink
      arrow-up
      14
      ·
      1 year ago

      I totally agree with what you’re saying. Also, I think UpperCamelCase is called Pascal case.